ClaimsPrincipalPermission.Demand Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Sprawdza, czy bieżący podmiot zabezpieczeń ma autoryzację dla par zasobów skojarzonych z bieżącym wystąpieniem.
public:
virtual void Demand();
public void Demand ();
abstract member Demand : unit -> unit
override this.Demand : unit -> unit
Public Sub Demand ()
Implementuje
Wyjątki
Bieżący podmiot zabezpieczeń nie może zostać przypisany z ClaimsPrincipalelementu .
-lub-
Nie skonfigurowano ClaimsAuthorizationManager .
Sprawdzanie autoryzacji nie powiodło się.
Przykłady
W poniższym przykładzie pokazano, jak chronić zasób przy użyciu Demand metody . Skonfigurowany menedżer autoryzacji oświadczeń jest wywoływany w celu oceny bieżącego podmiotu zabezpieczeń względem określonego zasobu i akcji. Jeśli bieżący podmiot zabezpieczeń nie jest autoryzowany dla określonej akcji w określonym zasobie, SecurityException jest zgłaszany. W przeciwnym razie wykonanie następuje.
//
// 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();
Uwagi
Bieżący podmiot zabezpieczeń musi być autoryzowany dla wszystkich par akcji zasobów skojarzonych z tym wystąpieniem lub SecurityException zgłaszany jest wyjątek.
Mimo że konstruktor przyjmuje tylko jeden zasób i akcję, ClaimsPrincipalPermission obiekty można łączyć za pomocą Union metod i Intersect . Uprawnienie utworzone za pomocą tych metod może zawierać wiele par akcji zasobów.
Metoda Demand wywołuje metodę ClaimsAuthorizationManager.CheckAccess skonfigurowanego menedżera autoryzacji oświadczeń z składem AuthorizationContext aktywnego podmiotu zabezpieczeń (CurrentPrincipal), zasobu i akcji dla każdej pary zasobów akcji zawartych w uprawnieniach. Demand Aby pomyślnie uaktywnić podmiot zabezpieczeń, musi być autoryzowany dla wszystkich par akcji zasobów zawartych w uprawnieniach.