Share via


ClaimsPrincipalPermission.Demand Methode

Definition

Überprüft, ob der aktuelle Prinzipal für die Ressourcen-Aktionspaare autorisiert ist, die der aktuellen Instanz zugeordnet sind.

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

Implementiert

Ausnahmen

Der aktuelle Prinzipal ist nicht von ClaimsPrincipal zuweisbar.

- oder -

Es ist kein ClaimsAuthorizationManager konfiguriert.

Die Autorisierungsprüfung ist fehlgeschlagen.

Beispiele

Das folgende Beispiel zeigt, wie eine Ressource mithilfe der Demand -Methode geschützt wird. Der konfigurierte Berechtigungsautorisierungs-Manager wird aufgerufen, um den aktuellen Prinzipal anhand der angegebenen Ressource und Aktion auszuwerten. Wenn der aktuelle Prinzipal für die angegebene Aktion für die angegebene Ressource nicht autorisiert ist, wird ein SecurityException ausgelöst, andernfalls wird die Ausführung fortgesetzt.

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

Hinweise

Der aktuelle Prinzipal muss für alle diesem instance zugeordneten Ressourcen-Aktionspaare autorisiert sein, andernfalls wird die SecurityException Ausnahme ausgelöst.

Obwohl der Konstruktor nur eine einzelne Ressource und Aktion benötigt, ClaimsPrincipalPermission können Objekte mit den Union Methoden und Intersect kombiniert werden. Die mit diesen Methoden erstellte Berechtigung kann mehrere Ressourcen-Aktions-Paare enthalten.

Die Demand -Methode ruft die ClaimsAuthorizationManager.CheckAccess Methode des konfigurierten Berechtigungsautorisierungs-Managers mit einem AuthorizationContext auf, das aus dem aktiven Prinzipal (CurrentPrincipal), der Ressource und der Aktion für jedes der in der Berechtigung enthaltenen Ressourcen-Aktionspaare besteht. Damit die Demand erfolgreich ist, muss der aktive Prinzipal für alle Ressourcen-Aktionspaare autorisiert sein, die in der Berechtigung enthalten sind.

Gilt für: