Condividi tramite


AuthorizationContext Classe

Definizione

Risultato della valutazione di tutti i criteri di autorizzazione disponibili dai token nel messaggio inviato e chiamando il GetAuthorizationPolicies(OperationContext) metodo .

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 un gestore autorizzazioni comporta un set di ClaimSet oggetti. Questi oggetti costituiscono un contesto di autorizzazione.

Un contesto di autorizzazione contiene un set di oggetti set di attestazioni, un'ora di scadenza che specifica l'intervallo di tempo durante il quale il contesto di autorizzazione è valido e un identificatore univoco.

È AuthorizationContext possibile accedere all'oggetto per l'operazione corrente tramite la AuthorizationContext proprietà .

Costruttori

Nome Descrizione
AuthorizationContext()

Inizializza una nuova istanza della classe AuthorizationContext.

Proprietà

Nome Descrizione
ClaimSets

Ottiene il set di attestazioni associate a un criterio di autorizzazione.

ExpirationTime

Ottiene la data e l'ora in cui l'oggetto AuthorizationContext non è più valido.

Id

Ottiene un identificatore univoco per questo AuthorizationContext oggetto.

Properties

Ottiene una raccolta di proprietà non attestazioni associate a questo AuthorizationContext oggetto.

Metodi

Nome Descrizione
CreateDefaultAuthorizationContext(IList<IAuthorizationPolicy>)

Valutare tutti i criteri di autorizzazione specificati e creare un oggetto 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 il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a