Revisar la seguridad imperativa
Actualización: noviembre 2007
Nombre de tipo |
ReviewImperativeSecurity |
Identificador de comprobación |
CA2103 |
Categoría |
Microsoft.Security |
Cambio problemático |
Sí |
Motivo
Un método utiliza la seguridad imperativa y podría estar creando el permiso utilizando la información de estado y los valores devueltos que pueden cambiar mientras la solicitud está activa.
Descripción de la regla
La seguridad imperativa utiliza objetos administrados para especificar permisos y acciones de seguridad durante la ejecución del código, en contraposición a la seguridad declarativa que utiliza los atributos para almacenar permisos y acciones en metadatos. La seguridad imperativa es extremadamente flexible porque se puede establecer el estado de un objeto de permiso y seleccionar las acciones de seguridad utilizando la información que no está disponible hasta el tiempo de ejecución. Con esta flexibilidad se produce el riesgo de que la información en tiempo de ejecución que utiliza para determinar el estado del permiso se modifique mientras la acción se está llevando a cabo.
Utilice la seguridad declarativa siempre que sea posible. Las solicitudes declarativas son más fáciles de entender y pueden ser detectadas por herramientas como Herramienta de vista de permisos (Permview.exe).
Cómo corregir infracciones
Revise las solicitudes de seguridad imperativa para asegurase de que el estado del permiso no depende de la información que se modifica mientras el permiso se está utilizando.
Cuándo suprimir advertencias
Es seguro suprimir una advertencia de esta regla si el permiso no depende de los datos que cambian. Sin embargo, es preferible cambiar la demanda imperativa por su equivalente declarativa.
Vea también
Referencia
Herramienta de vista de permisos (Permview.exe)