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
- ModelChangedEventArgsImpl.cs
- XamlHostingConfiguration.cs
- XmlMessageFormatter.cs
- ClipboardData.cs
- DataGridCaption.cs
- MethodAccessException.cs
- FunctionImportMapping.cs
- ResXDataNode.cs
- XmlUrlResolver.cs
- SBCSCodePageEncoding.cs
- TemplateComponentConnector.cs
- ReadOnlyNameValueCollection.cs
- SQLInt32.cs
- StringArrayConverter.cs
- VisualTreeHelper.cs
- SerialStream.cs
- AuthorizationSection.cs
- RelationshipManager.cs
- HwndStylusInputProvider.cs
- DataKey.cs
- RMPermissions.cs
- BeginStoryboard.cs
- ConfigurationCollectionAttribute.cs
- FormatConvertedBitmap.cs
- EventLogSession.cs
- SqlTopReducer.cs
- FixedSchema.cs
- OverlappedContext.cs
- SecurityHelper.cs
- DataPagerFieldCommandEventArgs.cs
- SqlFileStream.cs
- RawStylusInputReport.cs
- WebControlParameterProxy.cs
- UIElement3D.cs
- objectquery_tresulttype.cs
- entityreference_tresulttype.cs
- ScrollBarAutomationPeer.cs
- FrameworkTemplate.cs
- Matrix3DValueSerializer.cs
- WebPartsSection.cs
- TransformerInfo.cs
- GeneratedContractType.cs
- OutputCacheSection.cs
- ListBindingConverter.cs
- SqlCacheDependencyDatabase.cs
- XmlLanguage.cs
- SiteMapDataSource.cs
- CollectionTypeElement.cs
- LayoutEvent.cs
- Operators.cs
- CqlQuery.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- OleDbDataAdapter.cs
- TraceListener.cs
- AddInDeploymentState.cs
- AppearanceEditorPart.cs
- sqlser.cs
- PeerEndPoint.cs
- ZipPackagePart.cs
- HyperLink.cs
- AttributeQuery.cs
- BamlRecordHelper.cs
- GenerateTemporaryTargetAssembly.cs
- InvokePattern.cs
- BuildProvidersCompiler.cs
- QueuedDeliveryRequirementsMode.cs
- ServiceOperationInfoTypeConverter.cs
- DaylightTime.cs
- dbdatarecord.cs
- WindowPattern.cs
- ReferenceService.cs
- SmtpNetworkElement.cs
- MailWebEventProvider.cs
- UnsignedPublishLicense.cs
- TableRowGroup.cs
- WebReferencesBuildProvider.cs
- ApplicationServicesHostFactory.cs
- EditorZoneBase.cs
- ServerTooBusyException.cs
- smtppermission.cs
- NextPreviousPagerField.cs
- TemplatedMailWebEventProvider.cs
- StyleSheetComponentEditor.cs
- Padding.cs
- Nodes.cs
- ClientType.cs
- DefaultDiscoveryServiceExtension.cs
- StringAttributeCollection.cs
- MetadataUtilsSmi.cs
- LongValidatorAttribute.cs
- DbgCompiler.cs
- CryptoApi.cs
- XmlIncludeAttribute.cs
- RelatedImageListAttribute.cs
- RequestQueryProcessor.cs
- ConnectionStringsSection.cs
- Visual.cs
- JoinSymbol.cs
- RepeaterItemEventArgs.cs
- TransactionTraceIdentifier.cs