1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
namespace System.IdentityModel.Tokens
{
using System.IdentityModel.Claims;
using System.IdentityModel.Policy;
using SysClaim = System.IdentityModel.Claims.Claim;
/// <summary>
/// This class serves as a dummy AuthorizationPolicy on an issued token so that when
/// WCF renews a token it can match the identity of the issuer with the renewer. This is
/// required as in the IDFX layer we throw the WCF generated AuthorizationPolicy ( UnconditionalPolicy )
/// </summary>
internal class SctAuthorizationPolicy : IAuthorizationPolicy
{
ClaimSet _issuer;
string _id = UniqueId.CreateUniqueId();
internal SctAuthorizationPolicy( SysClaim claim )
{
_issuer = new DefaultClaimSet( claim );
}
#region IAuthorizationPolicy Members
bool IAuthorizationPolicy.Evaluate( EvaluationContext evaluationContext, ref object state )
{
if ( evaluationContext == null )
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull( "evaluationContext" );
}
evaluationContext.AddClaimSet( this, _issuer );
return true;
}
ClaimSet IAuthorizationPolicy.Issuer
{
get
{
return _issuer;
}
}
#endregion
#region IAuthorizationComponent Members
string IAuthorizationComponent.Id
{
get
{
return _id;
}
}
#endregion
}
}
|