Język

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 Assert zatrzymuje sprawdzanie uprawnień dla osób 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ń, 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 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 Assert do renderowania poprzedniej asercji jest nieskuteczne. RevertAssert Ponadto lub RevertAll usuwa oczekujące Assertwartości .

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

Caution

Ponieważ wywołanie Assert usuwa wymaganie, aby cały kod w łańcuchu wywołań otrzymał uprawnienie dostępu do określonego zasobu, może otworzyć 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ż