IPermission Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Внимание!
Code Access Security is not supported or honored by the runtime.
Определяет методы, реализованные типами разрешений.
public interface class IPermission : System::Security::ISecurityEncodable
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public interface IPermission : System.Security.ISecurityEncodable
public interface IPermission : System.Security.ISecurityEncodable
[System.Runtime.InteropServices.ComVisible(true)]
public interface IPermission : System.Security.ISecurityEncodable
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type IPermission = interface
interface ISecurityEncodable
type IPermission = interface
interface ISecurityEncodable
[<System.Runtime.InteropServices.ComVisible(true)>]
type IPermission = interface
interface ISecurityEncodable
Public Interface IPermission
Implements ISecurityEncodable
- Производный
- Атрибуты
- Реализации
Комментарии
Предостережение
Безопасность доступа к коду (CAS) устарела во всех версиях платформ .NET Framework, и .NET. Последние версии .NET не учитывают заметки CAS и создают ошибки, если используются API, связанные с CAS. Разработчики должны искать альтернативные средства выполнения задач безопасности.
Разрешения в среде CLR — это объекты, описывающие наборы операций, которые можно защитить для указанных ресурсов. Объект разрешения описывает операции или доступ, подлежащие контролю безопасности; он не представляет права доступа или права на выполнение операций. Разрешения используются как кодом приложения, так и системой безопасности .NET Framework следующим образом:
- Код запрашивает необходимые разрешения для выполнения.
- Политика системы безопасности предоставляет разрешения на код, чтобы он выполнялся.
- Код требует, чтобы вызывающий код имеет разрешение.
- Код переопределяет стек безопасности с помощью утверждения, запрета или разрешения.
Note
Если вы напишете новое разрешение, необходимо реализовать этот интерфейс в классе.
Important
Доступ к разрешению можно получить несколькими потоками. При реализации этого интерфейса необходимо гарантировать, что IsSubsetOfIntersectреализации методов , Unionи Copy реализации методов являются потокобезопасны.
Методы
| Имя | Описание |
|---|---|
| Copy() |
Устаревшие.
Создает и возвращает идентичную копию текущего разрешения. |
| Demand() |
Устаревшие.
Создает SecurityException исключение во время выполнения, если требование безопасности не выполняется. |
| FromXml(SecurityElement) |
Устаревшие.
Восстанавливает объект безопасности с заданным состоянием из кодировки XML. (Унаследовано от ISecurityEncodable) |
| Intersect(IPermission) |
Устаревшие.
Создает и возвращает разрешение, которое является пересечением текущего разрешения и указанного разрешения. |
| IsSubsetOf(IPermission) |
Устаревшие.
Определяет, является ли текущее разрешение подмножеством указанного разрешения. |
| ToXml() |
Устаревшие.
Создает xml-кодирование объекта безопасности и его текущего состояния. (Унаследовано от ISecurityEncodable) |
| Union(IPermission) |
Устаревшие.
Создает разрешение, которое является объединением текущего разрешения и указанного разрешения. |