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
- ResourceManager.cs
- CookielessHelper.cs
- SqlProviderManifest.cs
- CompilerLocalReference.cs
- Application.cs
- BridgeDataRecord.cs
- Transform3D.cs
- GrammarBuilderPhrase.cs
- ApplicationHost.cs
- RuleDefinitions.cs
- BitmapEffectDrawingContent.cs
- ISAPIRuntime.cs
- IPPacketInformation.cs
- TemplateAction.cs
- DBSqlParserColumnCollection.cs
- MouseActionConverter.cs
- PointLightBase.cs
- ScalarType.cs
- AutoGeneratedFieldProperties.cs
- UniqueIdentifierService.cs
- FamilyMapCollection.cs
- TextMarkerSource.cs
- CompositionAdorner.cs
- Margins.cs
- IPEndPoint.cs
- EncodingTable.cs
- EventLogPermission.cs
- Queue.cs
- NumberSubstitution.cs
- Compiler.cs
- ErrorLog.cs
- SQLDateTime.cs
- AnnotationHighlightLayer.cs
- TreeNodeClickEventArgs.cs
- CustomErrorsSectionWrapper.cs
- SiteIdentityPermission.cs
- ColumnWidthChangedEvent.cs
- SqlMethodAttribute.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- ConfigurationValue.cs
- DynamicQueryStringParameter.cs
- LinkUtilities.cs
- SystemThemeKey.cs
- HttpProfileGroupBase.cs
- InputLanguageEventArgs.cs
- SystemInfo.cs
- HttpApplicationFactory.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- Matrix.cs
- ToolStripItemTextRenderEventArgs.cs
- XmlSchemaDatatype.cs
- MultipleFilterMatchesException.cs
- WebBrowserNavigatedEventHandler.cs
- CharAnimationBase.cs
- ListBindableAttribute.cs
- StringKeyFrameCollection.cs
- RtfFormatStack.cs
- VBCodeProvider.cs
- GlobalizationAssembly.cs
- _LocalDataStore.cs
- GridViewItemAutomationPeer.cs
- _NestedMultipleAsyncResult.cs
- UIHelper.cs
- XmlNotation.cs
- ManipulationInertiaStartingEventArgs.cs
- ellipse.cs
- SafeProcessHandle.cs
- HtmlImage.cs
- ProfileModule.cs
- PieceDirectory.cs
- ComponentEditorPage.cs
- ActiveDocumentEvent.cs
- MulticastIPAddressInformationCollection.cs
- UnaryOperationBinder.cs
- Nullable.cs
- OperationResponse.cs
- DropDownButton.cs
- XDeferredAxisSource.cs
- EventInfo.cs
- HierarchicalDataBoundControl.cs
- XsltInput.cs
- Documentation.cs
- DynamicPhysicalDiscoSearcher.cs
- XmlDataSourceNodeDescriptor.cs
- WebPartPersonalization.cs
- SchemaNames.cs
- NativeMethodsCLR.cs
- Canvas.cs
- Gdiplus.cs
- HttpListener.cs
- SapiRecoContext.cs
- ValueSerializerAttribute.cs
- X509PeerCertificateAuthenticationElement.cs
- ApplicationDirectoryMembershipCondition.cs
- DiscreteKeyFrames.cs
- XmlWriterSettings.cs
- ADConnectionHelper.cs
- ListViewTableRow.cs
- MatrixTransform.cs
- Preprocessor.cs