IStackWalk.PermitOnly Methode

Definition

Bewirkt, dass jedes Demand() für alle Objekte außer dem aktuellen Objekt fehlschlägt, das den aufrufenden Code durchläuft, selbst wenn übergeordnetem Code in der Aufrufliste eine Zugriffsberechtigung für andere Ressourcen gewährt wurde.Causes every Demand() for all objects except the current one that passes through the calling code to fail, even if code higher in the call stack has been granted permission to access other resources.

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

Hinweise

PermitOnlyähnelt Deny, da beide dazu führen, dass Stapel Spaziergänge fehlschlagen, wenn Sie andernfalls erfolgreich verlaufen.PermitOnly is similar to Deny, in that both cause stack walks to fail when they would otherwise succeed. Der Unterschied besteht Deny darin, dass die Berechtigungen angibt, die dazu führen, dass PermitOnly der Stapel Durchlauf fehlschlägt, aber nur die Berechtigungen angibt, die nicht bewirken, dass der Stapel Durchlauf fehlschlägt.The difference is that Deny specifies permissions that will cause the stack walk to fail, but PermitOnly specifies the only permissions that do not cause the stack walk to fail. Aufrufen Sie diese Methode, um sicherzustellen, dass der Code nur für den Zugriff auf die angegebenen Ressourcen verwendet werden kann.Call this method to ensure that your code can be used to access only the specified resources.

PermitOnlywird für eine nicht erteilte Berechtigung ignoriert, da eine Anforderung für diese Berechtigung nicht erfolgreich ist.PermitOnly is ignored for a permission not granted because a demand for that permission will not succeed. Wenn der Code jedoch in der Aufruf Stapel Zeit weiter unten Demand aufruft, wird eine SecurityException ausgelöst, wenn der Stapel Durchlauf den Code erreicht, der versucht hat, PermitOnlyaufzurufen.However, if code lower on the call stack later calls Demand for that permission, a SecurityException is thrown when the stack walk reaches the code that tried to call PermitOnly. Dies liegt daran, dass dem Code PermitOnly , der aufrief, nicht die Berechtigung erteilt wurde, PermitOnly obwohl er für diese Berechtigung aufgerufen wurde.This is because the code that called PermitOnly has not been granted the permission, even though it called PermitOnly for that permission. Die-aufrufsstapel wird in der Regel so dargestellt, dass Sie in der aufrufsstapel-Methode weiter unten aufgerufen werden.The call stack is typically represented as growing down, so that methods higher in the call stack call methods lower in the call stack.

Gilt für: