ClaimsPrincipalPermission.Demand Metoda

Definice

Zkontroluje, jestli je aktuální objekt zabezpečení autorizovaný pro páry prostředků a akce přidružené k aktuální instanci.

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

Implementuje

Výjimky

Aktuální objekt zabezpečení není možné přiřadit z ClaimsPrincipal.

-nebo-

Není nakonfigurovaná žádná ClaimsAuthorizationManager .

Kontrola autorizace se nezdařila.

Příklady

Následující příklad ukazuje, jak chránit prostředek pomocí Demand metody . Je vyvolán nakonfigurovaný správce autorizace deklarací identity, který vyhodnotí aktuální objekt zabezpečení vůči zadanému prostředku a akci. Pokud aktuální objekt zabezpečení není autorizovaný pro zadanou akci u zadaného prostředku, SecurityException vyvolá se příkaz . V opačném případě bude provádění pokračovat.

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

Poznámky

Aktuální objekt zabezpečení musí být autorizovaný pro všechny páry akce prostředků přidružené k této instanci, jinak dojde k výjimce SecurityException .

Ačkoli konstruktor přijímá pouze jeden prostředek a akci, ClaimsPrincipalPermission objekty lze kombinovat prostřednictvím Union metod a Intersect . Oprávnění vytvořená těmito metodami mohou obsahovat několik párů akce prostředku.

Metoda Demand vyvolá metodu ClaimsAuthorizationManager.CheckAccess nakonfigurovaného správce autorizace deklarací identity, která AuthorizationContext se skládá z aktivního objektu zabezpečení (CurrentPrincipal), prostředku a akce pro každý z párů prostředků a akcí obsažených v oprávnění. Demand Aby byl objekt úspěšný, musí být aktivní objekt zabezpečení autorizovaný pro všechny páry prostředků a akcí, které jsou obsaženy v oprávnění.

Platí pro