PermissionSet.PermitOnly Methode

Definition

Bewirkt, dass eine beliebige Demand() misslingt, die den aufrufenden Code für einen beliebigen PermissionSet durchläuft , der keine Teilmenge des aktuellen PermissionSet ist.Causes any Demand() that passes through the calling code for any PermissionSet that is not a subset of the current PermissionSet to fail.

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

Implementiert

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 darin, dass Deny Berechtigungen angibt, die dazu führen, dass der Stapel Durchlauf fehlschlägt, PermitOnly jedoch die einzigen Berechtigungen angibt, die nicht dazu führen, 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.

PermitOnly wird für eine nicht erteilte Berechtigung ignoriert, da eine Anforderung für diese Berechtigung nicht erfolgreich sein kann.PermitOnly is ignored for a permission not granted because a demand for that permission cannot succeed. Wenn der Code jedoch später in der Aufruf Stapel Demand für diese Berechtigung 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, der PermitOnly aufgerufen hat, nicht die Berechtigung erteilt wurde, auch wenn er PermitOnly für diese Berechtigung aufgerufen hat.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: