Udostępnij za pośrednictwem


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 obiekty 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 elementu Assertion.

Uwagi

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

Wywołanie metody Assert jest skuteczne, dopóki kod wywołujący nie powróci do jego obiektu wywołującego lub do momentu, aż kolejne wywołanie elementu w celu Assert renderowania poprzedniej asercji jest nieskuteczne. RevertAssert Ponadto program usuwa RevertAll oczekujący Assertelement .

Assert Jest ignorowany dla uprawnienia, którego nie udzielono, ponieważ żądanie tego uprawnienia nie powiedzie się. Jeśli jednak kod niższy w stosie wywołań wywołuje Demand to uprawnienie, element jest zgłaszany, SecurityException gdy przewodnik stosu osiągnie kod, który próbował wywołać Assertmetodę . Dzieje się tak, ponieważ kod, który został wywołany Assert , nie otrzymał uprawnienia, mimo że próbował Assert .

Przestroga

Ponieważ wywołanie Assert usuwa wymaganie, aby wszystkie kod w łańcuchu wywołań otrzymały uprawnienia dostępu do określonego zasobu, może otworzyć luki w zabezpieczeniach, jeśli są używane nieprawidłowo lub niewłaściwie. Dlatego należy go używać z dużą ostrożnością.

Dotyczy

Zobacz też