CA2103: проверьте императивную безопасность

Товар Значение
Идентификатор правила CA2103
Категория Microsoft.Security
Критическое изменение Критическое

Причина

Метод использует принудительную безопасность и может обеспечить создание разрешения с помощью сведений о состоянии или возвращаемых значений, которые могут измениться в период активности требования.

Примечание.

Это правило устарело. Дополнительные сведения см. в разделе "Устаревшие правила".

Описание правила

Императивная безопасность использует управляемые объекты для указания разрешений и действий безопасности во время выполнения кода по сравнению с декларативной безопасностью, которая использует атрибуты для хранения разрешений и действий в метаданных. Императивная безопасность является гибкой, так как можно задать состояние объекта разрешения и выбрать действия безопасности с помощью сведений, недоступных до времени выполнения. Вместе с этой гибкостью возникает риск того, что сведения во время выполнения, используемые для определения состояния разрешения, не остаются неизменными до тех пор, пока действие действует.

Поэтому по возможности следует использовать декларативную безопасность. Декларативные требования проще понять.

Устранение нарушений

Просмотрите императивные требования безопасности, чтобы убедиться, что состояние разрешения не зависит от информации, которая может измениться до тех пор, пока используется разрешение.

Когда лучше отключить предупреждения

Это безопасно для подавления предупреждения из этого правила, если разрешение не зависит от изменения данных. Однако лучше изменить императивный спрос на его декларативный эквивалент.

См. также