ClaimsPrincipalPermission.Demand Metodo

Definizione

Controlla se l'entità corrente è autorizzata per le coppie risorsa-azione abbinate all'istanza corrente.

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

Implementazioni

Eccezioni

L'entità corrente non può essere assegnata da ClaimsPrincipal.

-oppure-

Non è configurato alcun ClaimsAuthorizationManager.

Il controllo dell'autorizzazione non è riuscito.

Esempio

Nell'esempio seguente viene illustrato come proteggere una risorsa usando il Demand metodo . Il gestore di autorizzazione delle attestazioni configurato viene richiamato per valutare l'entità corrente rispetto alla risorsa e all'azione specificate. Se l'entità corrente non è autorizzata per l'azione specificata sulla risorsa specificata, viene generata un'eccezione SecurityException ; in caso contrario, l'esecuzione procede.

//
// 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();

Commenti

L'entità corrente deve essere autorizzata per tutte le coppie di azioni di risorsa associate a questa istanza oppure viene generata l'eccezione SecurityException .

Anche se il costruttore accetta solo una singola risorsa e un'azione, ClaimsPrincipalPermission gli oggetti possono essere combinati tramite i Union metodi e Intersect . L'autorizzazione creata tramite questi metodi può contenere più coppie di azioni di risorsa.

Il Demand metodo richiama il ClaimsAuthorizationManager.CheckAccess metodo del gestore di autorizzazione delle attestazioni configurato con un AuthorizationContext composto dall'entità attiva (CurrentPrincipal), dalla risorsa e dall'azione per ogni coppia di azioni di risorsa contenuta nell'autorizzazione. Affinché l'oggetto Demand abbia esito positivo, l'entità attiva deve essere autorizzata per tutte le coppie di azioni di risorsa contenute nell'autorizzazione.

Si applica a