CA2103: Revisar la seguridad imperativa

Elemento Valor
RuleId CA2103
Category Microsoft.Security
Cambio importante Problemático

Causa

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.

Nota

Esta regla está en desuso. Para más información, consulte Reglas en desuso.

Descripción de la regla

La seguridad imperativa usa objetos administrados para especificar permisos y acciones de seguridad durante la ejecución del código, frente a la seguridad declarativa, que usa atributos para almacenar permisos y acciones en metadatos. La seguridad imperativa es flexible porque puede establecer el estado de un objeto de permiso y seleccionar acciones de seguridad mediante la información que no está disponible hasta el tiempo de ejecución. Junto con esa flexibilidad, existe el riesgo de que la información en tiempo de ejecución que use para determinar el estado de un permiso no se mantenga sin cambios siempre que la acción esté en vigor.

Utilice la seguridad declarativa siempre que sea posible. Las demandas declarativas son más fáciles de conocer.

Cómo corregir infracciones

Examine las demandas de seguridad imperativas para asegurarse de que el estado del permiso no depende de información que pueda cambiar siempre que se use el permiso.

Cuándo suprimir las advertencias

Es seguro suprimir una advertencia de esta regla si el permiso no se basa en el cambio de datos. Sin embargo, es mejor cambiar la demanda imperativa que su equivalente declarativa.

Consulte también