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
- ProfileSection.cs
- MobileCategoryAttribute.cs
- LocationSectionRecord.cs
- CultureMapper.cs
- CqlIdentifiers.cs
- ErrorTableItemStyle.cs
- BaseDataListActionList.cs
- DesignParameter.cs
- TranslateTransform3D.cs
- AppDomainProtocolHandler.cs
- DragDrop.cs
- _FixedSizeReader.cs
- EntityDataSourceUtil.cs
- SerializationInfo.cs
- ConnectionStringEditor.cs
- WindowsStatic.cs
- DefaultEventAttribute.cs
- ListViewSortEventArgs.cs
- EventOpcode.cs
- BindingExpression.cs
- EventProxy.cs
- MemberHolder.cs
- AsyncPostBackTrigger.cs
- DataSourceNameHandler.cs
- _MultipleConnectAsync.cs
- PointF.cs
- SqlDependencyListener.cs
- VectorAnimationUsingKeyFrames.cs
- UndoEngine.cs
- StylusDevice.cs
- querybuilder.cs
- Int16Storage.cs
- ItemsPresenter.cs
- OutputCacheModule.cs
- DataError.cs
- EraserBehavior.cs
- IdentitySection.cs
- TemplateXamlParser.cs
- ListViewItem.cs
- LinearKeyFrames.cs
- AssemblyFilter.cs
- ResourceAssociationSetEnd.cs
- MethodImplAttribute.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- BitStream.cs
- DataGridViewTextBoxColumn.cs
- TemplateControl.cs
- BaseDataBoundControl.cs
- XmlValidatingReaderImpl.cs
- MarkedHighlightComponent.cs
- DataGridCommandEventArgs.cs
- PersonalizationState.cs
- HostingMessageProperty.cs
- CheckBox.cs
- InternalConfigRoot.cs
- ExpandCollapseProviderWrapper.cs
- SafeThreadHandle.cs
- DataGridViewColumnCollection.cs
- CompositeActivityTypeDescriptor.cs
- coordinator.cs
- VisualCollection.cs
- Path.cs
- MemberMaps.cs
- LogicalExpr.cs
- OutArgument.cs
- CodeTypeDelegate.cs
- StringToken.cs
- SmiContext.cs
- RoutedUICommand.cs
- SelectionPattern.cs
- ToolboxBitmapAttribute.cs
- InputChannelBinder.cs
- SetIndexBinder.cs
- DBConnectionString.cs
- UIEndRequest.cs
- DataGridViewRowPostPaintEventArgs.cs
- Expander.cs
- SqlFileStream.cs
- XmlBaseReader.cs
- GPRECT.cs
- RootCodeDomSerializer.cs
- BufferBuilder.cs
- RuntimeIdentifierPropertyAttribute.cs
- MethodImplAttribute.cs
- OdbcError.cs
- OutputScopeManager.cs
- XmlNamedNodeMap.cs
- DataGridItem.cs
- XhtmlTextWriter.cs
- BinaryParser.cs
- DBConnectionString.cs
- SystemWebCachingSectionGroup.cs
- HttpInputStream.cs
- JoinGraph.cs
- ProfileService.cs
- SupportsPreviewControlAttribute.cs
- PenThreadPool.cs
- TdsParserStaticMethods.cs
- ObjectQueryState.cs
- ReversePositionQuery.cs