Compartilhar via


CodeAccessPermission.Deny Método

Definição

Cuidado

Essa API foi preterida.

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 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.

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 ()

Implementações

Atributos

Exceções

Já existe um Deny() ativo 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 os recursos contra uso indevido intencional por código não confiável. Por exemplo, se o método A emitir um Deny para uma permissão e, em seguida, chamar o método B, o método B poderá substituir Deny o 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 no método A stack by (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 métodos mais altos na pilha de chamadas chamem métodos mais baixos na pilha de chamadas.

Deny pode limitar a responsabilidade do programador ou ajudar a evitar problemas acidentais de segurança, pois ele 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 em uma permissão e se um Demand para essa permissão for invocado por um chamador mais baixo na pilha de chamadas, esse marcar de segurança falhará quando atingir o Deny.

A chamada para Deny é eficaz 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. Chame RevertDeny ou RevertAll para remover um ativo Deny. Deny é ignorado para uma permissão não concedida porque uma demanda por essa permissão não terá êxito.

Notas aos Herdeiros

Não é possível substituir esse método.

Aplica-se a