CA2103: Revisar la seguridad imperativaCA2103: Review imperative security

TypeNameTypeName ReviewImperativeSecurityReviewImperativeSecurity
Identificador de comprobaciónCheckId CA2103CA2103
CategoríaCategory Microsoft.SecurityMicrosoft.Security
Cambio problemáticoBreaking Change ProblemáticoBreaking

MotivoCause

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.A method uses imperative security and might be constructing the permission by using state information or return values that can change as long as the demand is active.

Descripción de la reglaRule description

Seguridad imperativa utiliza objetos administrados para especificar los permisos y las acciones de seguridad durante la ejecución de código, en comparación con la seguridad declarativa, que utiliza los atributos para almacenar los permisos y las acciones en los metadatos.Imperative security uses managed objects to specify permissions and security actions during code execution, compared to declarative security, which uses attributes to store permissions and actions in metadata. La seguridad imperativa es muy flexible, ya que puede establecer el estado de un objeto de permiso y seleccionar acciones de seguridad mediante la información que no está disponible en tiempo de ejecución.Imperative security is very flexible because you can set the state of a permission object and select security actions by using information that is not available until run time. Flexibilidad junto con la que produce el riesgo de que la información en tiempo de ejecución que se utiliza para determinar que el estado de un permiso no permanecen sin cambios siempre y cuando la acción está en vigor.Together with that flexibility comes the risk that the runtime information that you use to determine the state of a permission does not remain unchanged as long as the action is in effect.

Utilice la seguridad declarativa siempre que sea posible.Use declarative security whenever possible. Las demandas declarativas son más fáciles de entender.Declarative demands are easier to understand.

Cómo corregir infraccionesHow to fix violations

Revise las demandas de seguridad imperativa para asegurarse de que el estado del permiso no se basa en información que puede cambiar mientras se está usando el permiso.Review the imperative security demands to make sure that the state of the permission does not rely on information that can change as long as the permission is being used.

Cuándo Suprimir advertenciasWhen to suppress warnings

Es seguro suprimir una advertencia de esta regla si el permiso no se basa en datos que cambian.It is safe to suppress a warning from this rule if the permission does not rely on changing data. Sin embargo, es mejor cambiar la petición imperativa a su equivalente declarativo.However, it is better to change the imperative demand to its declarative equivalent.

Vea tambiénSee also