Share via


IStackWalk.PermitOnly Metoda

Definice

Způsobí chybu každých 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ódu vyššímu v zásobníku volání bylo uděleno 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ý objektu Deny, v tom, že oba způsobují selhání tras zásobníku, když by jinak byly úspěšné. Rozdíl je v tom, že Deny určuje oprávnění, která způsobí selhání procházení zásobníkem, ale PermitOnly určuje pouze oprávnění, která nezpůsobí selhání procházení zásobníkem. Voláním této metody zajistíte, že váš kód lze použít pouze pro přístup k zadaným prostředkům.

PermitOnly se ignoruje, pokud není oprávnění 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 toto oprávnění vyvolá Demand , SecurityException vyvolá se při procházení zásobníkem kód, který se pokusil volat PermitOnly. Je to proto, že volaný PermitOnly kód nemá udělené oprávnění, i když toto oprávnění volal PermitOnly . Zásobník volání je obvykle reprezentován jako rostoucí pokles, takže metody vyšší v zásobníku volání metody volání nižší v zásobníku volání.

Platí pro