Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / LocalIdKeyIdentifierClause.cs / 1 / LocalIdKeyIdentifierClause.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel.Tokens { using System.Globalization; public class LocalIdKeyIdentifierClause : SecurityKeyIdentifierClause { readonly string localId; readonly Type[] ownerTypes; public LocalIdKeyIdentifierClause(string localId) : this(localId, (Type[])null) { } public LocalIdKeyIdentifierClause(string localId, Type ownerType) : this(localId, ownerType == null ? (Type[])null : new Type[] { ownerType }) { } public LocalIdKeyIdentifierClause(string localId, byte[] derivationNonce, int derivationLength, Type ownerType) : this(null, derivationNonce, derivationLength, ownerType == null ? (Type[])null : new Type[] { ownerType }) { } internal LocalIdKeyIdentifierClause(string localId, Type[] ownerTypes) : this(localId, null, 0, ownerTypes) { } internal LocalIdKeyIdentifierClause(string localId, byte[] derivationNonce, int derivationLength, Type[] ownerTypes) : base(null, derivationNonce, derivationLength) { if (localId == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("localId"); } if (localId == string.Empty) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR.GetString(SR.LocalIdCannotBeEmpty)); } this.localId = localId; this.ownerTypes = ownerTypes; } public string LocalId { get { return this.localId; } } public Type OwnerType { get { return (this.ownerTypes == null || this.ownerTypes.Length == 0) ? null : this.ownerTypes[0]; } } public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause) { LocalIdKeyIdentifierClause that = keyIdentifierClause as LocalIdKeyIdentifierClause; // PreSharp Bug: Parameter 'that' to this public method must be validated: A null-dereference can occur here. #pragma warning suppress 56506 return ReferenceEquals(this, that) || (that != null && that.Matches(this.localId, this.OwnerType)); } public bool Matches(string localId, Type ownerType) { if (string.IsNullOrEmpty(localId)) return false; if (this.localId != localId) return false; if (this.ownerTypes == null || ownerType == null) return true; for (int i = 0; i < this.ownerTypes.Length; ++i) { if (this.ownerTypes[i] == null || this.ownerTypes[i] == ownerType) return true; } return false; } public override string ToString() { return string.Format(CultureInfo.InvariantCulture, "LocalIdKeyIdentifierClause(LocalId = '{0}', Owner = '{1}')", this.LocalId, this.OwnerType); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AppDomainUnloadedException.cs
- ContextMenuStrip.cs
- RectangleGeometry.cs
- IPCCacheManager.cs
- HtmlSelect.cs
- SamlSubject.cs
- NativeMethods.cs
- SerializationTrace.cs
- VirtualizingStackPanel.cs
- ProfileServiceManager.cs
- StaticExtensionConverter.cs
- ConstructorArgumentAttribute.cs
- XmlUnspecifiedAttribute.cs
- InvokePatternIdentifiers.cs
- Point3D.cs
- SetStoryboardSpeedRatio.cs
- ClientConfigurationSystem.cs
- ConfigurationLoader.cs
- InstanceOwnerException.cs
- RequestCache.cs
- HostAdapter.cs
- Brushes.cs
- TextEffectResolver.cs
- TypePropertyEditor.cs
- KeyboardDevice.cs
- QueryReaderSettings.cs
- HtmlControlPersistable.cs
- SHA384Cng.cs
- WindowsContainer.cs
- DataRecord.cs
- XmlNamespaceManager.cs
- FixedSOMTableRow.cs
- ToolboxComponentsCreatingEventArgs.cs
- DataGridViewCheckBoxColumn.cs
- CellRelation.cs
- XmlSignatureManifest.cs
- UpdateExpressionVisitor.cs
- XamlTreeBuilderBamlRecordWriter.cs
- PersistenceTypeAttribute.cs
- PropertyBuilder.cs
- ReliableChannelListener.cs
- WebPartDescriptionCollection.cs
- RegexStringValidatorAttribute.cs
- DefaultPropertyAttribute.cs
- DecoratedNameAttribute.cs
- AdCreatedEventArgs.cs
- SimpleHandlerBuildProvider.cs
- ContextMenuService.cs
- CookieParameter.cs
- KeyInstance.cs
- WindowInteropHelper.cs
- OracleBFile.cs
- SetterTriggerConditionValueConverter.cs
- DbQueryCommandTree.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- PackWebRequestFactory.cs
- WebPartZoneAutoFormat.cs
- AtlasWeb.Designer.cs
- PopOutPanel.cs
- VirtualizingPanel.cs
- InArgument.cs
- HttpContext.cs
- GotoExpression.cs
- DataSourceControl.cs
- ColumnMapCopier.cs
- BinaryKeyIdentifierClause.cs
- ToolBar.cs
- _TransmitFileOverlappedAsyncResult.cs
- Selection.cs
- IdentityElement.cs
- TypeSystemProvider.cs
- ControlValuePropertyAttribute.cs
- FontCacheUtil.cs
- PackageRelationshipSelector.cs
- SafeLibraryHandle.cs
- ToolStripRenderEventArgs.cs
- TypeDelegator.cs
- MessageQueuePermissionAttribute.cs
- UnsafeNativeMethods.cs
- ExpressionVisitor.cs
- StringUtil.cs
- CustomSignedXml.cs
- AssociationSetMetadata.cs
- MsmqProcessProtocolHandler.cs
- LocationUpdates.cs
- DocumentSchemaValidator.cs
- TabControl.cs
- TemplateManager.cs
- FormViewCommandEventArgs.cs
- XmlSchemaAnnotation.cs
- CommandConverter.cs
- ResourcePermissionBase.cs
- TablePattern.cs
- XPathBuilder.cs
- TextBoxView.cs
- FileDataSourceCache.cs
- LongAverageAggregationOperator.cs
- MinimizableAttributeTypeConverter.cs
- tooltip.cs
- DaylightTime.cs