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
- DataSourceView.cs
- wpf-etw.cs
- Label.cs
- SmtpFailedRecipientsException.cs
- WindowsAuthenticationModule.cs
- FixedSOMLineRanges.cs
- Stream.cs
- SubclassTypeValidatorAttribute.cs
- GcHandle.cs
- DataGridColumnCollectionEditor.cs
- ImageList.cs
- FixedDocumentPaginator.cs
- XmlQuerySequence.cs
- SingleTagSectionHandler.cs
- SelectionBorderGlyph.cs
- ExitEventArgs.cs
- QueryCacheManager.cs
- WpfKnownMemberInvoker.cs
- ManipulationVelocities.cs
- AnonymousIdentificationModule.cs
- SyntaxCheck.cs
- SafeSystemMetrics.cs
- DirectionalLight.cs
- RequestQueue.cs
- ADMembershipProvider.cs
- RawStylusInputCustomData.cs
- PropertyInfoSet.cs
- HtmlInputPassword.cs
- CellLabel.cs
- XmlDomTextWriter.cs
- BrowsableAttribute.cs
- DefaultValueTypeConverter.cs
- FilteredDataSetHelper.cs
- DataGridViewRowsAddedEventArgs.cs
- ValidationVisibilityAttribute.cs
- EncodingNLS.cs
- TypeDescriptionProviderAttribute.cs
- FrugalList.cs
- securitycriticaldataClass.cs
- WriterOutput.cs
- ScriptingSectionGroup.cs
- VerificationException.cs
- ImportOptions.cs
- SqlNotificationEventArgs.cs
- ScriptManagerProxy.cs
- Identity.cs
- PlainXmlDeserializer.cs
- MachineKeyValidationConverter.cs
- EventToken.cs
- UIElement3DAutomationPeer.cs
- WriterOutput.cs
- ColorTransformHelper.cs
- ToolStripPanelRenderEventArgs.cs
- NetworkInterface.cs
- RightsManagementEncryptedStream.cs
- DetailsView.cs
- StylusPointPropertyInfo.cs
- EditorPartChrome.cs
- StatusBarPanelClickEvent.cs
- Style.cs
- UriParserTemplates.cs
- ChannelManager.cs
- ErrorRuntimeConfig.cs
- CodeNamespaceImportCollection.cs
- CompositeFontParser.cs
- ManipulationDevice.cs
- CaseExpr.cs
- Substitution.cs
- ThumbButtonInfo.cs
- IndependentAnimationStorage.cs
- FlowDocumentReader.cs
- DataGridViewCellConverter.cs
- MILUtilities.cs
- Convert.cs
- TagMapCollection.cs
- KeyNotFoundException.cs
- SiteMapDataSource.cs
- PointConverter.cs
- ScrollContentPresenter.cs
- ListBase.cs
- DocumentPageView.cs
- ClientBuildManager.cs
- RoleService.cs
- StylusButtonEventArgs.cs
- StandardToolWindows.cs
- PlacementWorkspace.cs
- VersionedStreamOwner.cs
- KerberosSecurityTokenParameters.cs
- FilePrompt.cs
- FileDialog_Vista_Interop.cs
- WeakReferenceKey.cs
- DefaultMergeHelper.cs
- XmlBinaryReaderSession.cs
- UInt16Converter.cs
- PageEventArgs.cs
- MachineKeyConverter.cs
- HttpWriter.cs
- PerformanceCountersElement.cs
- BamlTreeUpdater.cs
- ContentElement.cs