Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / LocalIdKeyIdentifierClause.cs / 1305376 / 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. //----------------------------------------------------------- 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TableCell.cs
- HttpListenerPrefixCollection.cs
- PassportAuthenticationModule.cs
- FontResourceCache.cs
- DataBindingHandlerAttribute.cs
- SecurityTokenResolver.cs
- DrawingAttributes.cs
- SetIterators.cs
- Transform.cs
- XamlTemplateSerializer.cs
- Vertex.cs
- WebCategoryAttribute.cs
- NavigatingCancelEventArgs.cs
- ActivityCodeDomSerializer.cs
- ResourceExpressionBuilder.cs
- EffectiveValueEntry.cs
- BitStack.cs
- ServerIdentity.cs
- DomainConstraint.cs
- InfiniteIntConverter.cs
- CollectionBase.cs
- URIFormatException.cs
- StateWorkerRequest.cs
- MatrixCamera.cs
- ParameterElement.cs
- JsonQueryStringConverter.cs
- storepermissionattribute.cs
- DataObject.cs
- TreeNodeBinding.cs
- DbDeleteCommandTree.cs
- XhtmlBasicControlAdapter.cs
- EventData.cs
- XmlLoader.cs
- HtmlTable.cs
- relpropertyhelper.cs
- PngBitmapEncoder.cs
- WebSysDefaultValueAttribute.cs
- ReferentialConstraint.cs
- StrokeCollection2.cs
- OperationInfoBase.cs
- Validator.cs
- CalendarDesigner.cs
- RegexFCD.cs
- GraphicsState.cs
- VisualStyleTypesAndProperties.cs
- IOException.cs
- basemetadatamappingvisitor.cs
- ViewStateException.cs
- DataGridViewLayoutData.cs
- CqlParser.cs
- Tracer.cs
- WeakReference.cs
- ConnectivityStatus.cs
- EDesignUtil.cs
- AnchoredBlock.cs
- CustomWebEventKey.cs
- ConstraintStruct.cs
- ProxyManager.cs
- ObjectReaderCompiler.cs
- ThrowHelper.cs
- EntityDataSourceContextCreatedEventArgs.cs
- Floater.cs
- AsyncPostBackErrorEventArgs.cs
- Binding.cs
- ChangePassword.cs
- ResourceType.cs
- DataControlImageButton.cs
- Constraint.cs
- ListChangedEventArgs.cs
- MenuCommand.cs
- MultipleViewProviderWrapper.cs
- Converter.cs
- StylusButton.cs
- _AuthenticationState.cs
- messageonlyhwndwrapper.cs
- FacetChecker.cs
- RecommendedAsConfigurableAttribute.cs
- TreeViewItemAutomationPeer.cs
- DragSelectionMessageFilter.cs
- Size.cs
- CommandLibraryHelper.cs
- ProjectionAnalyzer.cs
- StringAttributeCollection.cs
- AddInEnvironment.cs
- XmlAttributeHolder.cs
- WebZone.cs
- ProfessionalColors.cs
- AssertUtility.cs
- Helper.cs
- ConfigurationLocation.cs
- SchemaDeclBase.cs
- AllMembershipCondition.cs
- CheckBox.cs
- InternalRelationshipCollection.cs
- selecteditemcollection.cs
- CheckBoxBaseAdapter.cs
- ApplicationServiceHelper.cs
- Binding.cs
- BoolExpressionVisitors.cs
- Application.cs