SecurityAction Enumeración
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
Code Access Security is not supported or honored by the runtime.
Especifica las acciones de seguridad que se pueden realizar mediante seguridad declarativa.
public enum class SecurityAction
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public enum SecurityAction
public enum SecurityAction
[System.Serializable]
public enum SecurityAction
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum SecurityAction
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type SecurityAction =
type SecurityAction =
[<System.Serializable>]
type SecurityAction =
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SecurityAction =
Public Enum SecurityAction
- Herencia
- Atributos
Campos
| Nombre | Valor | Description |
|---|---|---|
| Demand | 2 | Todos los llamadores superiores en la pila de llamadas deben tener concedido el permiso especificado por el objeto de permiso actual. |
| Assert | 3 | El código de llamada puede acceder al recurso identificado por el objeto de permiso actual, incluso si no se han concedido permisos a los autores de llamadas superiores en la pila para acceder al recurso (consulte Uso del método Assert). |
| Deny | 4 | La capacidad de acceder al recurso especificado por el objeto de permiso actual se deniega a los autores de llamadas, incluso si se les ha concedido permiso para acceder a él. |
| PermitOnly | 5 | Solo se puede acceder a los recursos especificados por este objeto de permiso, incluso si se ha concedido permiso al código para acceder a otros recursos. |
| LinkDemand | 6 | Se requiere que se haya concedido al autor de la llamada inmediato el permiso especificado. No use en .NET Framework 4. Para plena confianza, use SecurityCriticalAttribute en su lugar; para la confianza parcial, use Demand. |
| InheritanceDemand | 7 | Se requiere que la clase derivada herede la clase o invalide un método se haya concedido el permiso especificado. |
| RequestMinimum | 8 | Solicitud de los permisos mínimos necesarios para que se ejecute el código. Esta acción solo se puede usar dentro del ámbito del ensamblado. |
| RequestOptional | 9 | Solicitud de permisos adicionales que son opcionales (no es necesario ejecutar). Esta solicitud rechaza implícitamente todos los demás permisos no solicitados específicamente. Esta acción solo se puede usar dentro del ámbito del ensamblado. |
| RequestRefuse | 10 | La solicitud de que los permisos que podrían usarse incorrectamente no se concederán al código que realiza la llamada. Esta acción solo se puede usar dentro del ámbito del ensamblado. |
Comentarios
Precaución
La seguridad de acceso al código (CAS) está en desuso en todas las versiones de .NET Framework y .NET. Las versiones recientes de .NET no respetan las anotaciones de CAS y producen errores si se utilizan las API relacionadas con CAS. Los desarrolladores deben buscar medios alternativos para realizar tareas de seguridad.
En la tabla siguiente se describe el tiempo que se realiza cada acción de seguridad y los destinos que admite.
Importante
En .NET Framework 4, se ha quitado la compatibilidad en tiempo de ejecución para aplicar las solicitudes de permisos Deny, RequestMinimum, RequestOptional y RequestRefuse. Estas solicitudes no deben usarse en el código basado en .NET Framework 4 o posterior. Para obtener más información sobre este y otros cambios, consulte Cambios de seguridad.
No debe usar LinkDemand en .NET Framework 4. En su lugar, use para restringir el SecurityCriticalAttribute uso a aplicaciones de plena confianza o use Demand para restringir los autores de llamadas de confianza parcial.
| Declaración de acción de seguridad | Hora de acción | Destinos admitidos |
|---|---|---|
LinkDemand (no se usa en .NET Framework 4+) |
Compilación Just-In-Time | Clase, método |
InheritanceDemand |
Tiempo de carga | Clase, método |
Demand |
Tiempo de ejecución | Clase, método |
Assert |
Tiempo de ejecución | Clase, método |
Deny (obsoleto en .NET Framework 4) |
Tiempo de ejecución | Clase, método |
PermitOnly |
Tiempo de ejecución | Clase, método |
RequestMinimum (obsoleto en .NET Framework 4) |
Tiempo de concesión | Asamblea |
RequestOptional (obsoleto en .NET Framework 4) |
Tiempo de concesión | Asamblea |
RequestRefuse (obsoleto en .NET Framework 4) |
Tiempo de concesión | Asamblea |
Para obtener información adicional sobre los destinos de atributo, vea Attribute.