Compartir a través de


Revisar la seguridad imperativa

Actualización: noviembre 2007

Nombre de tipo

ReviewImperativeSecurity

Identificador de comprobación

CA2103

Categoría

Microsoft.Security

Cambio problemático

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)

Otros recursos

Instrucciones de codificación segura

Acceso a datos