IStackWalk.Assert Metoda

Definicja

Potwierdza, że kod wywołujący może uzyskać dostęp do zasobu zidentyfikowany przez bieżący obiekt uprawnień, nawet jeśli osoby wywołujące wyższe w stosie nie otrzymały uprawnień dostępu do zasobu.

public:
 void Assert();
public void Assert ();
abstract member Assert : unit -> unit
Public Sub Assert ()

Wyjątki

Kod wywołujący nie ma Assertionelementu .

Uwagi

Wywołanie powoduje zatrzymanie Assert sprawdzania uprawnień dla osób wywołujących wyższe w stosie wywołań. W związku z tym nawet jeśli te osoby wywołujące nie mają wymaganych uprawnień, nadal mogą uzyskiwać dostęp do zasobów. Potwierdzenie jest skuteczne tylko wtedy, gdy kod, który wywołuje Assert sprawdzanie zabezpieczeń, pod kątem uprawnień, które jest potwierdzane.

Wywołanie metody jest Assert skuteczne, dopóki kod wywołujący nie powróci do obiektu wywołującego lub do momentu, aż kolejne wywołanie spowoduje, że Assert poprzednie potwierdzenie będzie nieskuteczne. RevertAssert Ponadto lub RevertAll usuwa oczekujące Assertpolecenie .

Assert jest ignorowana dla nieudzielonego uprawnienia, ponieważ żądanie dla tego uprawnienia nie powiedzie się. Jeśli jednak kod niższy w stosie wywołań wywołuje Demand to uprawnienie, SecurityException element jest zgłaszany, gdy stos dociera do kodu, który próbował wywołać Assertmetodę . Dzieje się tak, ponieważ kod, którego wywołano Assert , nie otrzymał uprawnień, mimo że próbował Assert .

Przestroga

Ponieważ wywołanie Assert usuwa wymaganie, że cały kod w łańcuchu wywołań musi mieć uprawnienie dostępu do określonego zasobu, może otwierać luki w zabezpieczeniach, jeśli są używane niepoprawnie lub niewłaściwie. W związku z tym należy go używać z dużą ostrożnością.

Dotyczy

Zobacz też