|
//-----------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.ServiceModel.Security
{
using System.Globalization;
using System.IdentityModel;
using System.IdentityModel.Tokens;
using System.Runtime.CompilerServices;
[TypeForwardedFrom("System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
public class KeyNameIdentifierClause : SecurityKeyIdentifierClause
{
string keyName;
public KeyNameIdentifierClause(string keyName)
: base(null)
{
if (keyName == null)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("keyName");
}
this.keyName = keyName;
}
public string KeyName
{
get { return this.keyName; }
}
public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause)
{
KeyNameIdentifierClause that = keyIdentifierClause as KeyNameIdentifierClause;
// 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.keyName));
}
public bool Matches(string keyName)
{
return this.keyName == keyName;
}
public override string ToString()
{
return string.Format(CultureInfo.InvariantCulture, "KeyNameIdentifierClause(KeyName = '{0}')", this.KeyName);
}
}
}
|