Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

AuthorizationContext Class

Definition

Namespace:
System.IdentityModel.Policy
Assembly:
System.ServiceModel.Primitives.dll
Assembly:
System.IdentityModel.dll
Package:
System.ServiceModel.Primitives v10.0.652802
Source:
AuthorizationContext.cs
Source:
AuthorizationContext.cs
Source:
AuthorizationContext.cs

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

The result of evaluating all authorization policies available from the tokens in the sent message and by calling the GetAuthorizationPolicies(OperationContext) method.

public ref class AuthorizationContext abstract : System::IdentityModel::Policy::IAuthorizationComponent
public abstract class AuthorizationContext : System.IdentityModel.Policy.IAuthorizationComponent
type AuthorizationContext = class
 interface IAuthorizationComponent
Public MustInherit Class AuthorizationContext
Implements IAuthorizationComponent
Inheritance
AuthorizationContext
Implements

Examples

protected override bool CheckAccessCore(OperationContext operationContext)
{
 // Extract the action URI from the OperationContext. Match this against the claims
 // in the AuthorizationContext.
 string action = operationContext.RequestContext.RequestMessage.Headers.Action;
 Console.WriteLine("action: {0}", action);

 // Iterate through the various claim sets in the AuthorizationContext.
 foreach (ClaimSet cs in operationContext.ServiceSecurityContext.AuthorizationContext.ClaimSets)
 {
 // Examine only those claim sets issued by System.
 if (cs.Issuer == ClaimSet.System)
 {
 // Iterate through claims of type "http://example.org/claims/allowedoperation".
 foreach (Claim c in cs.FindClaims("http://example.org/claims/allowedoperation", Rights.PossessProperty))
 {
 // Write the Claim resource to the console.
 Console.WriteLine("resource: {0}", c.Resource.ToString());

 // If the Claim resource matches the action URI then return true to allow access.
 if (action == c.Resource.ToString())
 return true;
 }
 }
 }

 // If this point is reached, return false to deny access.
 return false;
}
Protected Overrides Function CheckAccessCore(ByVal operationContext As OperationContext) As Boolean
 ' Extract the action URI from the OperationContext. Match this against the claims
 ' in the AuthorizationContext.
 Dim action As String = operationContext.RequestContext.RequestMessage.Headers.Action
 Console.WriteLine("action: {0}", action)

 ' Iterate through the various claim sets in the AuthorizationContext.
 Dim cs As ClaimSet
 For Each cs In operationContext.ServiceSecurityContext.AuthorizationContext.ClaimSets
 ' Examine only those claim sets issued by System.
 If cs.Issuer Is ClaimSet.System Then
 ' Iterate through claims of type "http://example.org/claims/allowedoperation".
 Dim c As Claim
 For Each c In cs.FindClaims("http://example.org/claims/allowedoperation", Rights.PossessProperty)
 ' Write the Claim resource to the console.
 Console.WriteLine("resource: {0}", c.Resource.ToString())

 ' If the Claim resource matches the action URI then return true to allow access.
 If action = c.Resource.ToString() Then
 Return True
 End If
 Next c
 End If
 Next cs
 ' If we get here, return false, denying access.
 Return False

End Function

Remarks

Evaluating all of the authorization policies in an authorization manager results in a set of ClaimSet objects. These objects make up an authorization context.

An authorization context contains a set of claim set objects, an expiration time that specifies the span of time during which the authorization context is valid, and a unique identifier.

The AuthorizationContext for the current operation can be accessed via the AuthorizationContext property.

Constructors

Name Description
AuthorizationContext()

Initializes a new instance of the AuthorizationContext class.

Properties

Name Description
ClaimSets

Gets the set of claims associated with an authorization policy.

ExpirationTime

Gets the date and time at which this AuthorizationContext object is no longer valid.

Id

Gets a unique identifier for this AuthorizationContext object.

Properties

Gets a collection of non-claim properties associated with this AuthorizationContext object.

Methods

Name Description
CreateDefaultAuthorizationContext(IList<IAuthorizationPolicy>)

Evaluate all of the specified authorization policies and create an AuthorizationContext.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to


Feedback

Was this page helpful?