CodeAccessPermission.Assert Methode

Definition

Deklariert, dass der aufrufende Code auf die durch eine Berechtigungsforderung geschützte Ressource über den diese Methode aufrufenden Code zugreifen kann, auch wenn Aufrufern einer höheren Ebene im Stapel keine Berechtigung zum Zugreifen auf die Ressource erteilt wurde. Die Verwendung von Assert() kann zu Sicherheitsproblemen führen.

public:
 virtual void Assert();
public void Assert ();
abstract member Assert : unit -> unit
override this.Assert : unit -> unit
Public Sub Assert ()

Implementiert

Ausnahmen

Der aufrufende Code verfügt nicht über Assertion.

- oder -

Es ist bereits eine aktive Assert() für den aktuellen Frame vorhanden.

Hinweise

Die Aufrufliste wird in der Regel als nach unten anwachsend dargestellt, sodass Methoden, die höher in der Aufrufliste liegen, methoden unten in der Aufrufliste aufrufen. Das Aufrufen Assert verhindert, dass ein Stapellauf, der unten in der Aufrufliste liegt, die Aufrufliste über den Code hinaus fortschreitet, der diese Methode aufruft. Selbst wenn Aufrufer höher in der Aufrufliste nicht über die erforderlichen Berechtigungen für den Zugriff auf eine Ressource verfügen, können sie über den Code, der diese Methode aufruft, mit der erforderlichen Berechtigung darauf zugreifen. Eine Assertion ist nur wirksam, wenn der Code, der aufruft Assert , die Sicherheitsüberprüfung für die Berechtigung besteht, die sie bestätigt.

Der Aufruf von ist wirksam, Assert bis der aufrufende Code an seinen Aufrufer zurückgibt. Nur einer Assert kann in einem Frame aktiv sein. Ein Versuch, aufzurufen Assert , wenn ein aktives Assert im Frame vorhanden ist, führt zu einem SecurityException. Rufen Sie RevertAssert oder RevertAll auf, um eine aktive Assertzu entfernen.

Assert wird für eine Berechtigung ignoriert, die nicht erteilt wird, da eine Anforderung nach dieser Berechtigung nicht erfolgreich ist. Wenn code lower in der Aufrufliste jedoch diese Berechtigung aufruft Demand , wird ausgelöst SecurityException , wenn der Stapellauf den Code erreicht, der versucht hat, aufzurufen Assert. Dies liegt daran, dass dem code, der aufgerufen Assert hat, die Berechtigung nicht erteilt wurde, obwohl er versucht hat.Assert

Achtung

Da der Aufruf Assert der Anforderung entfällt, dass dem gesamten Code in der Aufrufkette die Berechtigung für den Zugriff auf die angegebene Ressource gewährt werden muss, können Sicherheitsprobleme entstehen, wenn sie falsch oder unangemessen verwendet werden. Daher sollte es mit großer Vorsicht verwendet werden.

Hinweise für Vererber

Sie können diese Methode nicht überschreiben.

Gilt für:

Weitere Informationen