Freigeben über


IStackWalk.PermitOnly Methode

Definition

Bewirkt, dass es bei allen Demand() für alle den aufrufenden Code durchlaufenden Objekte (mit Ausnahme des aktuellen Objekts) zu einem Fehler kommt, selbst wenn übergeordnetem Code in der Aufrufliste die Berechtigung für den Zugriff auf andere Ressourcen gewährt wurde.

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

Hinweise

PermitOnly Denyähnelt , da beide Stapelspaziergänge fehlschlagen, wenn sie andernfalls erfolgreich wären. Der Unterschied besteht darin, dass Deny Berechtigungen angegeben werden, die dazu führen, dass der Stapellauf fehlschlägt, aber PermitOnly die einzigen Berechtigungen angibt, die nicht dazu führen, dass der Stapellauf fehlschlägt. Rufen Sie diese Methode auf, um sicherzustellen, dass Ihr Code nur für den Zugriff auf die angegebenen Ressourcen verwendet werden kann.

PermitOnly wird für eine Berechtigung ignoriert, die nicht erteilt wird, da eine Anforderung nach dieser Berechtigung nicht erfolgreich ist. Wenn code lower on the call stack später jedoch diese Berechtigung aufruft Demand , wird ausgelöst SecurityException , wenn der Stapellauf den Code erreicht, der versucht hat, aufzurufen PermitOnly. Dies liegt daran, dass dem Code, der aufgerufen PermitOnly hat, die Berechtigung nicht erteilt wurde, obwohl er diese Berechtigung aufgerufen hat PermitOnly . 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.

Gilt für: