CodeAccessPermission.Assert Methode

Definition

Deklariert, dass der aufrufende Code über den Code, der diese Methode aufruft, auf die Ressource zugreifen kann, auch wenn Aufrufern im Stapel nicht die Berechtigung zum Zugriff auf die Ressource erteilt wurden. Die Verwendung Assert() kann Sicherheitsprobleme erstellen.

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 Assertionüber .

-oder-

Für den aktuellen Frame ist bereits ein aktiver Frame vorhanden Assert() .

Hinweise

Der Aufrufstapel wird in der Regel als aufwachsend dargestellt, sodass Die Methoden in den Aufrufstapelmethoden weiter unten im Aufrufstapel liegen. Durch Aufrufen Assert wird verhindert, dass ein Stapellauf, der niedriger im Aufrufstapel liegt, über den Code hinausgeht, der diese Methode aufruft. Selbst wenn Aufrufer höher im Aufrufstapel nicht über die erforderlichen Berechtigungen für den Zugriff auf eine Ressource verfügen, können sie über den Code, der diese Methode für die erforderliche Berechtigung aufruft, weiterhin darauf zugreifen. Eine Assertion ist nur wirksam, wenn der Code, Assert der die Sicherheitsüberprüfung aufruft, auf die Berechtigung, die sie bestätigt, übergibt.

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

Assert wird für eine nicht erteilte Berechtigung ignoriert, da eine Anforderung für diese Berechtigung nicht erfolgreich ist. Wenn der Code im Aufrufstapel Demand für diese Berechtigung jedoch niedriger ist, wird ein SecurityException Fehler ausgelöst, wenn der Stapellauf den Code erreicht, der aufgerufen Assertwerden soll. Dies geschieht, weil dem aufgerufenen Assert Code die Berechtigung nicht erteilt wurde, obwohl er versucht hat Assert .

Vorsicht

Da beim Aufrufen Assert die Anforderung entfernt wird, dass allen Code in der Aufrufkette die Berechtigung für den Zugriff auf die angegebene Ressource gewährt werden muss, kann sie Sicherheitsprobleme öffnen, 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 außer Kraft setzen.

Gilt für:

Weitere Informationen