CA2103: проверьте императивную безопасность
TypeName |
ReviewImperativeSecurity |
CheckId |
CA2103 |
Категория |
Microsoft.Security |
Критическое изменение |
Критическое изменение |
Причина
Метод использует принудительную безопасность и может обеспечить создание разрешения с помощью сведений о состоянии или возвращаемых значений, которые могут измениться в период активности требования.
Описание правила
Принудительная безопасность использует управляемые объекты для указания разрешений и действий по обеспечению безопасности во время выполнения кода, в отличие от декларативной безопасности, которая использует атрибуты для хранения разрешений и действий в метаданных.Принудительная безопасность отличается крайней гибкостью из-за возможности устанавливать состояние объекта разрешения и выбирать действия по обеспечению безопасности на основе сведений, которые становятся доступны только во время выполнения.Вместе с тем эта гибкость влечет за собой риск того, что сведения среды выполнения, используемые для определения состояния разрешения, могут измениться в процессе выполнения действия.
Поэтому по возможности следует использовать декларативную безопасность.Декларативные требования легче понимать.
Устранение нарушений
Изучите требования принудительной безопасности и убедитесь, что состояние разрешения не основано на сведениях, которые могут измениться в процессе использования разрешения.
Отключение предупреждений
Отключение предупреждений о нарушении данного правила безопасно в том случае, разрешение не основано на изменяющихся данных.Однако лучше заменить принудительное требование его декларативным эквивалентом.