AuthorizationContext Classe

Definição

O resultado da avaliação de todas as políticas de autorização disponíveis a partir dos tokens na mensagem enviada e ao chamar o GetAuthorizationPolicies(OperationContext) método.

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
Herança
AuthorizationContext
Implementações

Exemplos

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

Observações

Avaliar todas as políticas de autorização num gestor de autorizações resulta num conjunto de ClaimSet objetos. Estes objetos constituem um contexto de autorização.

Um contexto de autorização contém um conjunto de objetos do conjunto de reivindicações, um tempo de expiração que especifica o período durante o qual o contexto de autorização é válido e um identificador único.

A AuthorizationContext operação atual pode ser acedida através da AuthorizationContext propriedade.

Construtores

Name Description
AuthorizationContext()

Inicializa uma nova instância da AuthorizationContext classe.

Propriedades

Name Description
ClaimSets

Obtém o conjunto de sinistros associados a uma apólice de autorização.

ExpirationTime

Obtém a data e hora em que este AuthorizationContext objeto deixou de ser válido.

Id

Obtém um identificador único para este AuthorizationContext objeto.

Properties

Obtém um conjunto de propriedades não reivindicativas associadas a este AuthorizationContext objeto.

Métodos

Name Description
CreateDefaultAuthorizationContext(IList<IAuthorizationPolicy>)

Avalie todas as políticas de autorização especificadas e crie um AuthorizationContextarquivo .

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a