Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

CodeAccessPermission.Deny (Método)

Nota: esta API ya está obsoleta.

Evita que los llamadores situados en la parte superior de la pila de llamadas utilicen el código que llama a este método para obtener acceso al recurso especificado por la instancia actual.

Espacio de nombres:  System.Security
Ensamblado:  mscorlib (en mscorlib.dll)

[ObsoleteAttribute("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()

Implementaciones

IStackWalk.Deny()

ExcepciónCondición
SecurityException

Ya hay un método Deny activo para el marco actual.

Nota importanteImportante

El método Deny solo debe usarse para proteger los recursos frente a un acceso accidental por parte del código de plena confianza. No debe usarse para proteger los recursos frente a un uso incorrecto intencionado por parte de código que no es de confianza. Por ejemplo, si el método A emite Deny para un permiso y, a continuación, llama al método B, el método B puede invalidar abiertamente Deny emitiendo Assert. El método al que se llama siempre está situado en la parte superior de la pila. Por lo tanto, si el método B intenta obtener acceso a un recurso protegido, el sistema de seguridad iniciará una comprobación de permisos con él puesto que el método B es el llamador inmediato y, a continuación, se desplazará hacia abajo en la pila para confirmar que no haya ningún Deny o PermitOnly situado por debajo en la pila. El método B, que está intentando obtener acceso al recurso, puede detener inmediatamente el recorrido de pila utilizando el método Assert. En ese caso, el Deny que el método A (el método de llamada) colocó en la pila no se detectará nunca.

Este método impide a los llamadores situados en posiciones superiores en la pila de llamadas el acceso al recurso protegido a través del código que llama a este método, incluso si tienen permiso para obtener dicho acceso. La pila de llamadas suele representarse de forma decreciente, por lo que los métodos que se encuentran en las posiciones superiores de la pila de llamadas, llaman a métodos de las posiciones inferiores.

Deny puede limitar la responsabilidad del programador o ayudar a prevenir problemas de seguridad accidentales, ya que impide el uso del método que llama a Deny para obtener acceso al recurso protegido por el permiso denegado. Si un método llama a Deny en un permiso y si un llamador situado en la parte inferior de la pila de llamadas invoca Demand para ese permiso, dicha comprobación de seguridad devolverá un error al alcanzar el método Deny.

La llamada a Deny es eficaz hasta que el código de llamada vuelve al llamador. Sólo puede haber un método Deny activo en cada marco. Un intento de llamar a Deny cuando hay otro método Deny activo en el marco da como resultado SecurityException. Se llama a RevertDeny o a RevertAll para quitar un método Deny activo. El método Deny de un permiso no concedido se pasará por alto, pues ninguna demanda para ese permiso podrá tener éxito.

Notas para los herederos

No se puede reemplazar este método.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0
Obsoleto (advertencia del compilador) en 4

.NET Framework Client Profile

Compatible con: 3.5 SP1
Obsoleto (advertencia del compilador) en 4

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft