SecurityAction Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Внимание
Code Access Security is not supported or honored by the runtime.
Указывает действия безопасности, которые можно выполнить с помощью декларативной безопасности.
public enum class SecurityAction
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public enum SecurityAction
public enum SecurityAction
[System.Serializable]
public enum SecurityAction
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum SecurityAction
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type SecurityAction =
type SecurityAction =
[<System.Serializable>]
type SecurityAction =
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SecurityAction =
Public Enum SecurityAction
- Наследование
- Атрибуты
Поля
| Имя | Значение | Описание |
|---|---|---|
| Demand | 2 | Всем вызывающим объектам в стеке вызовов необходимо предоставить разрешение, указанное текущим объектом разрешений. |
| Assert | 3 | Вызывающий код может получить доступ к ресурсу, определяемму текущим объектом разрешений, даже если вызывающие объекты выше в стеке не были предоставлены разрешения на доступ к ресурсу. |
| Deny | 4 | Возможность доступа к ресурсу, указанному текущим объектом разрешений, запрещена вызывающим пользователям, даже если им было предоставлено разрешение на доступ к нему. |
| PermitOnly | 5 | Доступ можно получить только к ресурсам, указанным этим объектом разрешений, даже если код был предоставлен разрешение на доступ к другим ресурсам. |
| LinkDemand | 6 | Для немедленного вызова необходимо предоставить указанное разрешение. Не используйте в .NET Framework 4. Для полного доверия используйте SecurityCriticalAttribute вместо этого; для частичного доверия используйте Demand. |
| InheritanceDemand | 7 | Производный класс, наследующий класс или переопределяющий метод, требуется предоставить указанное разрешение. |
| RequestMinimum | 8 | Запрос минимальных разрешений, необходимых для выполнения кода. Это действие можно использовать только в пределах области сборки. |
| RequestOptional | 9 | Запрос дополнительных разрешений, которые являются необязательными (не требуется для выполнения). Этот запрос неявно отклоняет все остальные разрешения, не запрашиваемые специально. Это действие можно использовать только в пределах области сборки. |
| RequestRefuse | 10 | Запрос на то, что разрешения, которые могут быть неправильно использованы, не будут предоставлены вызывающему коду. Это действие можно использовать только в пределах области сборки. |
Комментарии
Предостережение
Безопасность доступа к коду (CAS) устарела во всех версиях платформ .NET Framework, и .NET. Последние версии .NET не учитывают заметки CAS и создают ошибки, если используются API, связанные с CAS. Разработчики должны искать альтернативные средства выполнения задач безопасности.
В следующей таблице описывается время, которое выполняется каждое действие безопасности и целевые объекты, поддерживаемые им.
Important
В .NET Framework 4 поддержка среды выполнения была удалена для принудительного применения запросов на разрешение Deny, RequestMinimum, RequestOptional и RequestRefuse. Эти запросы не следует использовать в коде, основанном на .NET Framework 4 или более поздней версии. Дополнительные сведения об этих и других изменениях см. в разделе "Изменения безопасности".
Не следует использовать LinkDemand в .NET Framework 4. Вместо этого используйте для SecurityCriticalAttribute ограничения использования полностью доверенных приложений или ограничения Demand частично доверенных вызывающих объектов.
| Объявление действия безопасности | Время действия | Поддерживаемые целевые объекты |
|---|---|---|
LinkDemand (не используйте в .NET Framework 4+) |
JIT-компиляция | Класс, метод |
InheritanceDemand |
Время загрузки | Класс, метод |
Demand |
Время выполнения | Класс, метод |
Assert |
Время выполнения | Класс, метод |
Deny (устаревшее в .NET Framework 4) |
Время выполнения | Класс, метод |
PermitOnly |
Время выполнения | Класс, метод |
RequestMinimum (устаревшее в .NET Framework 4) |
Время предоставления | Собрание |
RequestOptional (устаревшее в .NET Framework 4) |
Время предоставления | Собрание |
RequestRefuse (устаревшее в .NET Framework 4) |
Время предоставления | Собрание |
Дополнительные сведения о целевых объектах атрибутов см. в разделе Attribute.