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
- ToolboxDataAttribute.cs
- DataServiceHostWrapper.cs
- UndoManager.cs
- ViewRendering.cs
- FixedBufferAttribute.cs
- XmlUtil.cs
- DefaultMemberAttribute.cs
- RadioButtonBaseAdapter.cs
- PrintSystemException.cs
- HtmlFormParameterWriter.cs
- AssemblyInfo.cs
- sortedlist.cs
- WasAdminWrapper.cs
- CommandArguments.cs
- IdentitySection.cs
- CellConstant.cs
- DataGridViewRowEventArgs.cs
- CriticalHandle.cs
- EmbeddedObject.cs
- TimelineGroup.cs
- Vector3DAnimation.cs
- RMPublishingDialog.cs
- MarkupExtensionParser.cs
- XmlNamedNodeMap.cs
- IntSecurity.cs
- FilteredAttributeCollection.cs
- IPipelineRuntime.cs
- IPCCacheManager.cs
- XmlSchemaValidator.cs
- XmlDeclaration.cs
- StoreItemCollection.cs
- thaishape.cs
- SchemaEntity.cs
- ResourceSet.cs
- ImageListUtils.cs
- SocketElement.cs
- MenuCommandsChangedEventArgs.cs
- SurrogateSelector.cs
- HttpWrapper.cs
- AutoResizedEvent.cs
- EventKeyword.cs
- ScrollChrome.cs
- PerfService.cs
- Nodes.cs
- Point3DCollectionConverter.cs
- ProxyHelper.cs
- SchemaMapping.cs
- AsyncWaitHandle.cs
- OleDbSchemaGuid.cs
- CollectionView.cs
- SerializationObjectManager.cs
- XmlSchemaParticle.cs
- X509InitiatorCertificateServiceElement.cs
- MenuBindingsEditor.cs
- SQLGuid.cs
- Figure.cs
- QilValidationVisitor.cs
- HttpCookiesSection.cs
- BitmapEffectGeneralTransform.cs
- RenderData.cs
- DataKeyCollection.cs
- FrameworkElement.cs
- Model3DCollection.cs
- VariantWrapper.cs
- PerformanceCounterTraceRecord.cs
- Pair.cs
- DesignObjectWrapper.cs
- IncrementalHitTester.cs
- HttpCapabilitiesBase.cs
- JsonFormatGeneratorStatics.cs
- LockCookie.cs
- EtwTrace.cs
- ValueSerializer.cs
- OracleInfoMessageEventArgs.cs
- DelimitedListTraceListener.cs
- ToolStripRenderEventArgs.cs
- Clipboard.cs
- Win32.cs
- UserControlAutomationPeer.cs
- PropertyConverter.cs
- JsonFormatMapping.cs
- SystemIPInterfaceProperties.cs
- Thickness.cs
- Select.cs
- DataDesignUtil.cs
- smtppermission.cs
- CellConstantDomain.cs
- CodeCommentStatementCollection.cs
- PropertyEmitterBase.cs
- relpropertyhelper.cs
- followingquery.cs
- SettingsBase.cs
- ExpressionBuilder.cs
- newinstructionaction.cs
- OrCondition.cs
- EditCommandColumn.cs
- IssuedTokenClientElement.cs
- ItemCollection.cs
- CallbackValidator.cs
- HtmlWindow.cs