CodeAccessPermission.Deny Método

Definição

Cuidado

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.

Impede que os chamadores mais altos na pilha de chamadas usem o código que chama esse método para acessar o recurso especificado pela instância atual.

public:
 virtual 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();
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 ()

Implementações

Atributos

Exceções

Já há um ativo Deny() para o quadro atual.

Comentários

Importante

O Deny método deve ser usado apenas para proteger recursos contra acesso acidental por código totalmente confiável. Ele não deve ser usado para proteger recursos contra uso indevido intencional por código não confiável. Por exemplo, se o método A emite uma Deny permissão e, em seguida, chama o métodoB, o Deny método B pode substituir o método, emitindo um Assert. O método chamado é sempre mais alto na pilha. 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, desce a pilha para confirmar que não há nenhuma Deny ou PermitOnly menor na pilha. O método B, que está tentando acessar o recurso, pode interromper a caminhada da pilha imediatamente usando o Assert método. Nesse caso, o Deny colocado na pilha por método A (o método de chamada) nunca é descoberto.

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. Normalmente, a pilha de chamadas é representada como crescente, de modo que os métodos mais altos nos métodos de chamada de pilha de chamadas sejam mais baixos na pilha de chamadas.

Deny pode limitar a responsabilidade do programador ou ajudar a evitar problemas acidentais de segurança, pois ajuda a impedir que o método que chama Deny seja usado para acessar o recurso protegido pela permissão negada. Se um método chamar Deny uma permissão e se uma Demand permissão for invocada por um chamador menor na pilha de chamadas, essa verificação de segurança falhará quando atingir o Deny.

A chamada será Deny efetiva até que o código de chamada retorne ao chamador. Somente um Deny pode estar ativo em um quadro. Uma tentativa de chamar Deny quando um ativo Deny existe no quadro resulta em um SecurityException. Chamar RevertDeny ou RevertAll remover um ativo Deny. Deny é ignorado para uma permissão não concedida porque uma demanda por essa permissão não será bem-sucedida.

Notas aos Herdeiros

Você não pode substituir esse método.

Aplica-se a