CA2143: прозрачные методы не должны использовать требования безопасности
Товар | Значение |
---|---|
Идентификатор правила | CA2143 |
Категория | Microsoft.Security |
Критическое изменение | Критическое |
Причина
Прозрачный тип или метод декларативно помечается запросом System.Security.Permissions.SecurityAction.Demand
или метод вызывает System.Security.CodeAccessPermission.Demand метод.
Примечание.
Это правило устарело. Дополнительные сведения см. в разделе "Устаревшие правила".
Описание правила
Прозрачный для системы безопасности код не должен отвечать за проверку безопасности операции и поэтому не должен требовать разрешений. Прозрачный для системы безопасности код должен использовать полные требования для принятия решений по безопасности, и критичный в плане безопасности код не должен полагаться на прозрачный код, чтобы создать полное требование. Вместо этого любой код, выполняющий проверка безопасности, например требования к безопасности, должен быть безопасным.
Устранение нарушений
Как правило, чтобы устранить нарушение этого правила, пометьте метод атрибутом SecuritySafeCriticalAttribute . Вы также можете удалить запрос.
Когда лучше отключить предупреждения
Для этого правила отключать вывод предупреждений не следует.
Пример
Файлы правил в следующем коде, так как прозрачный метод делает декларативный спрос на безопасность.
using System;
using System.Security;
using System.Security.Permissions;
namespace TransparencyWarningsDemo
{
public class TransparentMethodDemandClass
{
// CA2142 violation - transparent code using a Demand. This can be fixed by making the method safe critical.
[PermissionSet(SecurityAction.Demand, Unrestricted = true)]
public void TransparentMethod()
{
}
}
}
См. также
CA2142: прозрачный код не должен быть защищен с помощью требований LinkDemand
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по