CodeAccessPermission.Deny Method

Definition

Warning

This API is now obsolete.

Impede que os chamadores no nível superior da pilha de chamadas usem o código que chama esse método para acessar o recurso especificado pela instância atual.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 ();
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
member this.Deny : unit -> unit
Public Sub Deny ()

Implements

Attributes

Exceptions

Já existe um Deny() ativo para o quadro atual.There is already an active Deny() for the current frame.

Remarks

Important

O método Deny deve ser usado somente para proteger recursos contra acesso acidental por código totalmente confiável.The Deny method should be used only to protect resources from accidental access by fully trusted code. Ele não deve ser usado para proteger recursos de uso indevido intencional por código não confiável.It should not be used to protect resources from intentional misuse by untrusted code. Por exemplo, se o método A emitir uma Deny para uma permissão e, em seguida, chamar o método B, o método B poderá substituir o Deny emitindo um 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. O método chamado é sempre mais alto na pilha.The called method is always higher in the stack. Portanto, se o método B tentar acessar um recurso protegido, o sistema de segurança começará a verificar se há permissões com ele porque o método B é o chamador imediato e, em seguida, percorre a pilha para confirmar se não há Deny ou PermitOnly inferior na pilha.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. O método B, que está tentando acessar o recurso, pode parar a movimentação da pilha imediatamente usando o método Assert.Method B, which is trying to access the resource, can stop the stack walk immediately by using the Assert method. Nesse caso, os Deny colocados na pilha por método A (o método de chamada) nunca são descobertos.In that case, the Deny placed on the stack by method A (the calling method) is never discovered.

Esse método impede que os chamadores mais altos na pilha de chamadas acessem o recurso protegido por meio do código que chama esse método, mesmo que esses chamadores tenham recebido permissão para acessá-lo.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. A pilha de chamadas normalmente é representada como crescendo, para que os métodos mais altos nos métodos de chamada da pilha de chamadas sejam menores na pilha de chamadas.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 pode limitar a responsabilidade do programador ou ajudar a evitar problemas de segurança acidentais, pois ajuda a impedir que o método que chama Deny seja usado para acessar o recurso protegido pela permissão negada.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. Se um método chamar Deny em uma permissão, e se um Demand para essa permissão for invocado por um chamador inferior na pilha de chamadas, essa verificação de segurança falhará quando atingir o 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.

A chamada para Deny entrará em vigor até que o código de chamada retorne ao seu chamador.The call to Deny is effective until the calling code returns to its caller. Somente um Deny pode estar ativo em um quadro.Only one Deny can be active on a frame. Uma tentativa de chamar Deny quando existe uma Deny ativa no quadro resulta em uma SecurityException.An attempt to call Deny when an active Deny exists on the frame results in a SecurityException. Chame RevertDeny ou RevertAll para remover um Denyativo.Call RevertDeny or RevertAll to remove an active Deny. Deny é ignorado para uma permissão não concedida porque uma demanda por essa permissão não terá sucesso.Deny is ignored for a permission not granted because a demand for that permission will not succeed.

Notes to Inheritors

Não é possível substituir esse método.You cannot override this method.

Applies to