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.

Brání volajícím vyššímu v zásobníku volání z použití kódu, který volá tuto metodu pro přístup k prostředku určenému aktuální instancí.Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

public:
 virtual void Deny();
public:
 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.Diagnostics.Conditional("FEATURE_MONO_CAS")]
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
[<System.Diagnostics.Conditional("FEATURE_MONO_CAS")>]
member this.Deny : unit -> unit
Public Sub Deny ()

Implementuje

Atributy

Výjimky

Deny()Pro aktuální snímek již existuje aktivní.There is already an active Deny() for the current frame.

Poznámky

Důležité

DenyMetoda by měla být použita pouze k ochraně prostředků před náhodným přístupem pomocí plně důvěryhodného kódu.The Deny method should be used only to protect resources from accidental access by fully trusted code. Neměl by se používat k ochraně prostředků před úmyslné zneužití nedůvěryhodným kódem.It should not be used to protect resources from intentional misuse by untrusted code. Například pokud metoda A vydá Deny výjimku pro oprávnění a pak volá metodu B , metoda B může overtly přepsat tím, že Deny vydává Assert .For example, if method A issues a Deny for a permission and then calls method B, method B can overtly override the Deny by issuing an Assert. Volaná metoda je vždy vyšší v zásobníku.The called method is always higher in the stack. Proto pokud se metoda B pokusí o přístup k chráněnému prostředku, systém zabezpečení zahájí kontrolu oprávnění, protože metoda B je bezprostředním volajícím a poté projde zásobníkem, aby zkontrolovala, zda Deny v zásobníku neexistuje nebo není PermitOnly nižší.Therefore, if method B tries to access a protected resource, the security system begins checking for permissions with it because method B is the immediate caller, and then walks down the stack to confirm that there is no Deny or PermitOnly lower in the stack. Metoda B , která se pokouší o přístup k prostředku, může okamžitě zastavit procházení zásobníku pomocí Assert metody.Method B, which is trying to access the resource, can stop the stack walk immediately by using the Assert method. V takovém případě Deny není nikdy zjištěna metoda umístěná v zásobníku podle metody A (volání metody).In that case, the Deny placed on the stack by method A (the calling method) is never discovered.

Tato metoda brání volajícím vyššímu v zásobníku volání, aby získal 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í k přístupu.This method prevents callers higher in the call stack from accessing the protected resource through the code that calls this method, even if those callers have been granted permission to access it. Zásobník volání je obvykle reprezentován při zvětšování, takže metody vyšší v metodách volání zásobníku volání jsou nižší v zásobníku volání.The call stack is typically represented as growing down, so that methods higher in the call stack call methods lower in the call stack.

Deny může omezit zodpovědnost programátora nebo pomoci zabránit náhodným problémům se zabezpečením, protože pomáhá zabránit tomu, aby metoda, která volá, Deny použila k přístupu k prostředku chráněnému odepřeným oprávněním.Deny can limit the liability of the programmer or help prevent accidental security issues because it helps prevent the method that calls Deny from being used to access the resource protected by the denied permission. Pokud metoda volá Deny oprávnění a v případě Demand , že je pro toto oprávnění vyvolána volajícím v dolní části zásobníku volání, tato kontrolu zabezpečení selže, jakmile dosáhne Deny .If a method calls Deny on a permission, and if a Demand for that permission is invoked by a caller lower in the call stack, that security check will fail when it reaches the Deny.

Volání Deny je platné, dokud se volající kód nevrátí volajícímu.The call to Deny is effective until the calling code returns to its caller. DenyV rámci snímku může být aktivní pouze jeden.Only one Deny can be active on a frame. Pokus o volání, Deny když existuje aktivní Deny na snímku, má za následek SecurityException .An attempt to call Deny when an active Deny exists on the frame results in a SecurityException. Pokud RevertDeny RevertAll chcete odebrat aktivní, zavolejte nebo Deny .Call RevertDeny or RevertAll to remove an active Deny. Deny ignoruje se u oprávnění, které nebylo uděleno, protože požadavek na toto oprávnění nebude úspěšný.Deny is ignored for a permission not granted because a demand for that permission will not succeed.

Poznámky pro dědice

Tuto metodu nelze přepsat.You cannot override this method.

Platí pro