IStackWalk.PermitOnly Metoda

Definice

Způsobí selhání každého Demand() pro všechny objekty s výjimkou aktuálního objektu, který prochází volajícím kódem, a to i v případě, že kód vyšší v zásobníku volání byl udělen oprávnění pro přístup k jiným prostředkům.

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

Poznámky

PermitOnly je podobná Deny, v tom, že obě způsobují selhání zásobníku, když by jinak úspěšné. Rozdíl spočívá v tom, že Deny určuje oprávnění, která způsobí selhání zásobníku, ale PermitOnly určuje jediná oprávnění, která nezpůsobí selhání chůze zásobníku. Volejte tuto metodu, abyste zajistili, že váš kód lze použít pro přístup pouze k zadaným prostředkům.

PermitOnly je ignorován pro oprávnění, které není uděleno, protože požadavek na toto oprávnění nebude úspěšný. Pokud ale kód nižší v zásobníku volání později volá Demand toto oprávnění, SecurityException vyvolá se při procházení zásobníku do kódu, který se pokusil volat PermitOnly. Důvodem je to, že kód, který volal PermitOnly , nebyl udělen oprávnění, i když volal PermitOnly pro toto oprávnění. Zásobník volání je obvykle reprezentován jako rostoucí, takže metody vyšší ve volání zásobníku volání nižší v zásobníku volání.

Platí pro