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
- DataMemberFieldConverter.cs
- TableColumn.cs
- BatchServiceHost.cs
- AspNetHostingPermission.cs
- WebPartConnectionsConfigureVerb.cs
- TextSelectionHelper.cs
- XmlAttributeCollection.cs
- ActivationArguments.cs
- HttpServerVarsCollection.cs
- SqlClientPermission.cs
- HtmlElementCollection.cs
- ApplicationInterop.cs
- CustomError.cs
- XslVisitor.cs
- ProcessHostFactoryHelper.cs
- TemplateParser.cs
- DockPanel.cs
- TraceHandler.cs
- Evaluator.cs
- AttachedPropertyBrowsableAttribute.cs
- ObjectDataSourceFilteringEventArgs.cs
- GACMembershipCondition.cs
- FormsAuthenticationModule.cs
- ResourcePart.cs
- DataControlFieldTypeEditor.cs
- ProcessHostConfigUtils.cs
- EventsTab.cs
- XmlElement.cs
- IdnElement.cs
- InstanceData.cs
- XAMLParseException.cs
- WindowShowOrOpenTracker.cs
- PrivilegedConfigurationManager.cs
- WebPartEditVerb.cs
- DemultiplexingClientMessageFormatter.cs
- EventManager.cs
- MetadataItemEmitter.cs
- GacUtil.cs
- FontWeight.cs
- ToolStripManager.cs
- HttpListenerException.cs
- ReservationCollection.cs
- DesignBindingEditor.cs
- IndentedWriter.cs
- OneWayChannelListener.cs
- GridViewRowCollection.cs
- CodeSubDirectoriesCollection.cs
- ValidationUtility.cs
- HTTPNotFoundHandler.cs
- Guid.cs
- XmlSchemaSimpleTypeUnion.cs
- ColumnWidthChangingEvent.cs
- ScrollViewer.cs
- InstallerTypeAttribute.cs
- UIPropertyMetadata.cs
- SafeNativeMethodsMilCoreApi.cs
- GeometryHitTestParameters.cs
- ItemDragEvent.cs
- SqlWebEventProvider.cs
- SHA1CryptoServiceProvider.cs
- CallbackCorrelationInitializer.cs
- MatrixCamera.cs
- CultureInfoConverter.cs
- RegionIterator.cs
- SmtpException.cs
- StatusBarDrawItemEvent.cs
- WorkflowElementDialog.cs
- InternalRelationshipCollection.cs
- TextElementEnumerator.cs
- Crypto.cs
- XPathException.cs
- activationcontext.cs
- Message.cs
- SQLSingleStorage.cs
- XmlSchemaType.cs
- SingleConverter.cs
- PublishLicense.cs
- XmlSchemaRedefine.cs
- ClassHandlersStore.cs
- ExtensionWindowResizeGrip.cs
- columnmapkeybuilder.cs
- SinglePageViewer.cs
- ValidatedMobileControlConverter.cs
- StrokeCollectionConverter.cs
- TdsRecordBufferSetter.cs
- SqlDataSourceEnumerator.cs
- DataGridViewColumnCollection.cs
- ApplicationSecurityManager.cs
- Size3D.cs
- NativeMethods.cs
- CompensationExtension.cs
- ContentFilePart.cs
- Wizard.cs
- XslNumber.cs
- ConfigurationManagerInternalFactory.cs
- CodeMethodReturnStatement.cs
- DataGridViewCellValueEventArgs.cs
- PerfCounters.cs
- NumericUpDown.cs
- SspiWrapper.cs