CodeAccessPermission.Deny Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Precaución
Esta API ya está en desuso.
Precaució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.
Impide que los autores de la llamada situados en la posición más alta de la pila de llamadas usen el código que llama a este método para tener acceso al recurso especificado por la instancia actual.
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 ()
Implementaciones
- Atributos
Excepciones
Ya hay una Deny() activa para el marco actual.
Comentarios
Importante
El Deny método solo se debe usar para proteger los recursos del acceso accidental mediante código de plena confianza. No se debe usar para proteger los recursos contra el uso indebido intencionado por código que no es de confianza. Por ejemplo, si el método A
emite un Deny para un permiso y, a continuación, llama al método B
, el método B
puede invalidar de forma excesiva el mediante la Deny emisión de .Assert El método llamado siempre es mayor en la pila. Por lo tanto, si el método B
intenta acceder a un recurso protegido, el sistema de seguridad comienza a comprobar los permisos con él porque el método B
es el llamador inmediato y, a continuación, recorre la pila para confirmar que no hay ninguna Deny o PermitOnly inferior en la pila. El método B
, que intenta acceder al recurso, puede detener el recorrido de la pila inmediatamente mediante el Assert método . En ese caso, el Deny elemento colocado en la pila por método (el método A
que realiza la llamada) nunca se detecta.
Este método impide que los autores de llamadas más altos de la pila de llamadas accedan al recurso protegido a través del código que llama a este método, incluso si se les ha concedido permiso para acceder a él. Normalmente, la pila de llamadas se representa como creciente, por lo que los métodos más altos en los métodos de llamada a la pila de llamadas se reducen en la pila de llamadas.
Deny puede limitar la responsabilidad del programador o ayudar a evitar problemas de seguridad accidentales, ya que ayuda a evitar que el método que llama Deny se use para acceder al recurso protegido por el permiso denegado. Si un método llama Deny a en un permiso y un Demand para ese permiso lo invoca un llamador inferior en la pila de llamadas, se producirá un error en esa comprobación de seguridad cuando llegue a Deny.
La llamada a Deny es efectiva hasta que el código que realiza la llamada vuelve a su llamador. Solo uno Deny puede estar activo en un marco. Un intento de llamar Deny cuando existe un activo Deny en el marco da como resultado un SecurityException. Llame a RevertDeny o RevertAll para quitar un objeto activo Deny. Deny se omite para un permiso no concedido porque una demanda de ese permiso no se realizará correctamente.
Notas a los desarrolladores de herederos
No se puede invalidar este método.