CodeAccessPermission.Deny Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Atenção
Esta API foi preterida.
Atenção
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 acima na pilha de chamadas usem o código que chama este método para aceder ao 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 ativo Deny() para o frame atual.
Observações
Importante
O Deny método deve ser usado apenas para proteger recursos de acessos acidentais por código totalmente confiável. Não deve ser usado para proteger recursos de um uso indevido intencional por código não confiável. Por exemplo, se o método A emite um Deny para uma permissão e depois chama o método B, o método B pode sobrepor abertamente o Deny ao emitir um Assert. O método chamado está sempre mais alto na pilha. Portanto, se o método B tentar aceder a um recurso protegido, o sistema de segurança começa a verificar permissões com ele porque o método B é o chamador imediato, e depois percorre a pilha para confirmar se não Deny existe ou PermitOnly se está inferior na pilha. O método B, que tenta aceder ao recurso, pode parar imediatamente a caminhada da pilha usando o Assert método. Nesse caso, o Deny método colocado na pilha por A método (o método que chama) nunca é descoberto.
Este método impede que os chamadores mais acima na pilha de chamadas acedam ao recurso protegido através do código que chama este método, mesmo que esses chamadores tenham obtido permissão para o aceder. A pilha de chamadas é tipicamente representada como a crescer para baixo, de modo que os métodos mais altos na pilha de chamadas chamam métodos mais baixos na pilha de chamadas.
Deny pode limitar a responsabilidade do programador ou ajudar a prevenir problemas acidentais de segurança, pois ajuda a evitar que o método de chamadas Deny seja usado para aceder ao recurso protegido pela permissão negada. Se um método invocar Deny uma permissão, e se um Demand para essa permissão for invocado por um chamador mais abaixo na pilha de chamadas, essa verificação de segurança falhará quando atingir o Deny.
A chamada para Deny é eficaz até que o código de chamada regresse ao seu chamador. Só um Deny pode estar ativo num frame. Uma tentativa de chamar Deny quando existe um ativo Deny na trama resulta num SecurityException. Ligue RevertDeny ou RevertAll remova um arquivo ativo Deny. Deny é ignorado por uma permissão não concedida porque a exigência dessa autorização não terá sucesso.
Notas para Herdeiros
Não podes anular este método.