Sdílet prostřednictvím


CodeAccessPermission.Deny Metoda

Definice

Upozornění

Toto rozhraní API je teď zastaralé.

Upozornění

Deny is obsolete and will be removed in a future release of the .NET Framework. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Zabraňuje volajícím, kteří jsou výše v zásobníku volání, v použití kódu, který volá tuto metodu pro přístup k prostředku určenému aktuální instancí.

public:
 virtual void Deny();
[System.Obsolete]
public void Deny ();
public void Deny ();
[System.Obsolete("Deny is obsolete and will be removed in a future release of the .NET Framework. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public void Deny ();
[<System.Obsolete>]
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
[<System.Obsolete("Deny is obsolete and will be removed in a future release of the .NET Framework. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
Public Sub Deny ()

Implementuje

Atributy

Výjimky

Pro aktuální snímek již existuje aktivní Deny() .

Poznámky

Důležité

Metoda Deny by se měla používat pouze k ochraně prostředků před náhodným přístupem pomocí plně důvěryhodného kódu. Neměl by se používat k ochraně prostředků před úmyslným zneužitím nedůvěryhodným kódem. Pokud například metoda A vydá Deny oprávnění a pak zavolá metodu B, může metoda B jednoznačně přepsat Deny tím, že vystaví Assert. Volaná metoda je v zásobníku vždy vyšší. Proto pokud se metoda B pokusí o přístup k chráněnému prostředku, začne systém zabezpečení kontrolovat oprávnění, protože metoda B je okamžitý volající, a pak provede zásobník, aby ověřil, že v zásobníku není žádná Deny nebo PermitOnly nižší hodnota. Metoda B, která se pokouší o přístup k prostředku, může okamžitě zastavit procházení zásobníku Assert pomocí metody . V takovém případě Deny se nikdy nezjistí objekt umístěný na zásobníku metodou A (metodou volání).

Tato metoda zabraňuje volajícím, kteří jsou výše v zásobníku volání, přístup k chráněnému prostředku prostřednictvím kódu, který volá tuto metodu, a to i v případě, že těmto volajícím bylo uděleno oprávnění pro přístup k tomuto prostředku. Zásobník volání je obvykle reprezentován jako rostoucí, takže metody vyšší v zásobníku volání volají níže v zásobníku volání.

Deny může omezit odpovědnost programátora nebo pomoct zabránit náhodným problémům se zabezpečením, protože pomáhá zabránit použití metody volání Deny pro přístup k prostředku chráněnému odepřeným oprávněním. Pokud metoda volá Deny oprávnění a pokud Demand je pro toto oprávnění vyvoláno volajícím, který je nižší ve zásobníku volání, tato kontrola zabezpečení selže, jakmile Denydosáhne hodnoty .

Volání je účinné, Deny dokud se volající kód nevrátí do volajícího. Na snímku může být aktivní jenom jeden Deny . Pokus o volání Deny , pokud v rámci existuje aktivní Deny , bude výsledkem SecurityException. Volání RevertDeny nebo RevertAll odebrání aktivního Denyobjektu Deny je ignorováno, pokud není uděleno oprávnění, protože požadavek na toto oprávnění nebude úspěšný.

Poznámky pro dědice

Tuto metodu nelze přepsat.

Platí pro