Condividi tramite


AuthorizationContext Classe

Definizione

Risultato della valutazione di tutti i criteri di autorizzazione disponibili dai token inclusi nel messaggio inviato e mediante la chiamata al metodo GetAuthorizationPolicies(OperationContext).

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
Ereditarietà
AuthorizationContext
Implementazioni

Esempio

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

Commenti

La valutazione di tutti i criteri di autorizzazione in Gestione autorizzazioni determina un set di oggetti ClaimSet. Questi oggetti costituiscono un contesto di autorizzazione.

Un contesto di autorizzazione contiene un set di oggetti di attestazione: una data di scadenza, che specifica il periodo di validità del contesto di autorizzazione, e un identificatore univoco.

L'accesso alla classe AuthorizationContext per l'operazione corrente può essere eseguito utilizzando la proprietà AuthorizationContext.

Costruttori

AuthorizationContext()

Inizializza una nuova istanza della classe AuthorizationContext.

Proprietà

ClaimSets

Ottiene il set di attestazioni associato a dei criteri di autorizzazione.

ExpirationTime

Ottiene la data e l'ora di scadenza della validità dell'oggetto AuthorizationContext corrente.

Id

Ottiene un identificatore univoco per l'oggetto AuthorizationContext corrente.

Properties

Ottiene una raccolta di proprietà diverse da attestazioni associato all'oggetto AuthorizationContext corrente.

Metodi

CreateDefaultAuthorizationContext(IList<IAuthorizationPolicy>)

Valutare tutti i criteri di autorizzazione specificati e creare una classe AuthorizationContext.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a