AuthorizationContext Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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) |