IStackWalk.Assert Methode

Definition

Bestätigt, dass der aufrufende Code auf die durch das aktuelle Berechtigungsobjekt identifizierte Ressource zugreifen kann, selbst wenn Aufrufern einer höheren Ebene in der Aufrufliste keine Berechtigung für den Zugriff auf die Ressource erteilt wurde.

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

Ausnahmen

Der aufrufende Code verfügt nicht über Assertion.

Hinweise

Der Aufruf Assert beendet die Berechtigungsprüfung für Anrufer höher im Anrufstapel. Daher können diese Aufrufer auch dann auf Ressourcen zugreifen, wenn sie nicht über die erforderlichen Berechtigungen verfügen. Eine Assertion ist nur wirksam, wenn der Code, der aufruft Assert , die Sicherheitsüberprüfung für die von ihr behauptete Berechtigung besteht.

Ein Aufruf von ist wirksam, Assert bis der aufrufende Code an seinen Aufrufer zurückgibt oder bis ein nachfolgender Aufruf, um die vorherige Assertion unwirksam zu Assert rendern. RevertAssertRevertAll Oder entfernt einen ausstehenden Assert.

Assert wird für eine nicht erteilte Berechtigung ignoriert, da eine Anforderung dieser Berechtigung nicht erfolgreich ist. Wenn jedoch Code unten auf der Aufrufliste diese Berechtigung aufruft Demand , wird ein SecurityException ausgelöst, wenn der Stapellauf den Code erreicht, der versucht hat, aufzurufen Assert. Dies geschieht, weil dem code, der aufgerufen Assert hat, die Berechtigung nicht erteilt wurde, obwohl er versucht hat.Assert

Achtung

Da der Aufruf Assert die Anforderung entfernt, dass allen Code in der Aufrufkette die Berechtigung für den Zugriff auf die angegebene Ressource erteilt werden muss, kann es zu Sicherheitsrisiken führen, wenn sie falsch oder unangemessen verwendet werden. Daher sollte es mit großer Vorsicht verwendet werden.

Gilt für:

Weitere Informationen