ClaimsPrincipalPermission.Demand Methode

Definition

Überprüft, ob der aktuelle Prinzipal für die Ressourcenaktionspaare 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 kann nicht zugewiesen werden.ClaimsPrincipal

- oder -

Es ist keine ClaimsAuthorizationManager Konfiguration vorhanden.

Fehler bei der Autorisierungsprüfung.

Beispiele

Das folgende Beispiel zeigt, wie Sie eine Ressource mithilfe der Demand Methode schützen. Der konfigurierte Anspruchsautorisierungs-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 Fehler 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 mit dieser Instanz verknüpften Ressourcenaktionspaare autorisiert sein, oder die SecurityException Ausnahme wird ausgelöst.

Obwohl der Konstruktor nur eine einzelne Ressource und Aktion verwendet, ClaimsPrincipalPermission können Objekte über die Union Und Intersect Methoden kombiniert werden. Die über diese Methoden erstellte Berechtigung kann mehrere Ressourcenaktionspaare enthalten.

Die Demand Methode ruft die ClaimsAuthorizationManager.CheckAccess Methode des konfigurierten Anspruchsautorisierungs-Managers mit einem AuthorizationContext zusammengesetzten aus dem aktiven Prinzipal (CurrentPrincipal), der Ressource und der Aktion für jedes der in der Berechtigung enthaltenen Ressourcenaktionspaare auf. Damit der Demand aktive Prinzipal erfolgreich ausgeführt werden kann, muss er für alle Ressourcenaktionspaare autorisiert sein, die in der Berechtigung enthalten sind.

Gilt für: