ClaimsPrincipalPermission.Demand Método

Definição

Verifica se o principal atual está autorizado para os pares recurso-ação associados à instância atual.

public:
 virtual void Demand();
public void Demand();
abstract member Demand : unit -> unit
override this.Demand : unit -> unit
Public Sub Demand ()

Implementações

Exceções

O principal atual não é atribuível a partir de ClaimsPrincipal.

-ou-

Não há ClaimsAuthorizationManager configuração.

A verificação de autorização falhou.

Exemplos

O exemplo seguinte mostra como proteger um recurso utilizando o Demand método. O gestor de autorização de sinistros configurado é invocado para avaliar o principal atual em relação ao recurso e ação especificados. Se o principal atual não estiver autorizado para a ação especificada sobre o recurso especificado, um SecurityException é lançado; caso contrário, a execução prossegue.

//
// Method 2. Programmatic check using the permission class
// Follows model found at http://msdn.microsoft.com/library/system.security.permissions.principalpermission.aspx
//
ClaimsPrincipalPermission cpp = new ClaimsPrincipalPermission("resource", "action");
cpp.Demand();

Observações

O principal atual deve ser autorizado para todos os pares recurso-ação associados a esta instância, caso contrário a SecurityException exceção é lançada.

Embora o construtor use apenas um recurso e uma ação, ClaimsPrincipalPermission os objetos podem ser combinados através dos Union métodos e.Intersect A permissão criada através destes métodos pode conter múltiplos pares recurso-ação.

O Demand método invoca o ClaimsAuthorizationManager.CheckAccess método do gestor de autorização de reivindicações configurado com um AuthorizationContext composto pelo principal ativo (CurrentPrincipal), o recurso e a ação para cada um dos pares recurso-ação contidos na permissão. Para que o Demand tenha sucesso, o principal ativo deve ser autorizado para todos os pares recurso-ação contidos na permissão.

Aplica-se a