CodeAccessPermission Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Внимание
Code Access Security is not supported or honored by the runtime.
Определяет базовую структуру всех разрешений доступа к коду.
public ref class CodeAccessPermission abstract : System::Security::IPermission, System::Security::IStackWalk
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public abstract class CodeAccessPermission : System.Security.IPermission, System.Security.IStackWalk
[System.Serializable]
public abstract class CodeAccessPermission : System.Security.IPermission, System.Security.IStackWalk
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class CodeAccessPermission : System.Security.IPermission, System.Security.IStackWalk
public abstract class CodeAccessPermission : System.Security.IPermission, System.Security.IStackWalk
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type CodeAccessPermission = class
interface IPermission
interface ISecurityEncodable
interface IStackWalk
[<System.Serializable>]
type CodeAccessPermission = class
interface IPermission
interface ISecurityEncodable
interface IStackWalk
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CodeAccessPermission = class
interface IPermission
interface ISecurityEncodable
interface IStackWalk
type CodeAccessPermission = class
interface IPermission
interface ISecurityEncodable
interface IStackWalk
Public MustInherit Class CodeAccessPermission
Implements IPermission, IStackWalk
- Наследование
-
CodeAccessPermission
- Производный
- Атрибуты
- Реализации
Комментарии
Предостережение
Безопасность доступа к коду (CAS) устарела во всех версиях платформ .NET Framework, и .NET. Последние версии .NET не учитывают заметки CAS и создают ошибки, если используются API, связанные с CAS. Разработчики должны искать альтернативные средства выполнения задач безопасности.
Разрешения доступа к коду используют пошаговое руководство по стеку, чтобы убедиться, что всем вызывающим файлам кода предоставлено разрешение. Если объект разрешения имеет nullзначение, он обрабатывается так же, как объект разрешения с состоянием PermissionState.None.
Стек вызовов обычно представлен как растущий, так что методы выше в методах вызова стека вызовов ниже в стеке вызовов.
Наследующие классу должны быть предоставлены полное доверие для правильной CodeAccessPermission работы в качестве разрешений, расширяющих инфраструктуру безопасности. Чтобы определить, что наследующие являются полностью доверенными, CodeAccessPermission возникают проблемы InheritanceDemand и ControlEvidence = trueControlPolicy = true.
Примечания для тех, кто реализует этот метод
При наследовании CodeAccessPermission от IUnrestrictedPermission, необходимо также реализовать интерфейс.
Следующие CodeAccessPermission члены должны быть переопределены: Copy(), Intersect(IPermission), IsSubsetOf(IPermission), ToXml(), FromXml(SecurityElement)и Union(IPermission).
Необходимо также определить конструктор, который принимает его PermissionState единственный параметр.
Атрибут должен применяться к классу SerializableAttribute , который наследует от CodeAccessPermission.
Конструкторы
| Имя | Описание |
|---|---|
| CodeAccessPermission() |
Устаревшие..
Инициализирует новый экземпляр класса CodeAccessPermission. |
Методы
| Имя | Описание |
|---|---|
| Assert() |
Устаревшие..
Объявляет, что вызывающий код может получить доступ к ресурсу, защищенному запросом разрешений, с помощью кода, вызывающего этот метод, даже если вызывающие элементы в стеке не были предоставлены разрешения на доступ к ресурсу. Использование Assert() может создавать проблемы безопасности. |
| Copy() |
Устаревшие..
При реализации производным классом создает и возвращает идентичную копию текущего объекта разрешения. |
| Demand() |
Устаревшие..
SecurityException Принудительно выполняется, если все вызывающие объекты в стеке вызовов не были предоставлены разрешения, указанные текущим экземпляром. |
| Deny() |
Устаревшие..
Устаревшие..
Запрещает вызывающим объектам в стеке вызовов использовать код, который вызывает этот метод для доступа к ресурсу, указанному текущим экземпляром. |
| Equals(Object) |
Устаревшие..
Определяет, равен ли указанный CodeAccessPermission объект текущему CodeAccessPermissionобъекту. |
| Equals(Object) |
Устаревшие..
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| FromXml(SecurityElement) |
Устаревшие..
При переопределении в производном классе восстанавливает объект безопасности с указанным состоянием из кодировки XML. |
| GetHashCode() |
Устаревшие..
Получает хэш-код для объекта, который подходит для CodeAccessPermission использования в хэш-алгоритмах и структурах данных, таких как хэш-таблица. |
| GetHashCode() |
Устаревшие..
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Устаревшие..
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| Intersect(IPermission) |
Устаревшие..
При реализации производным классом создает и возвращает разрешение, которое является пересечением текущего разрешения и указанного разрешения. |
| IsSubsetOf(IPermission) |
Устаревшие..
При реализации производным классом определяет, является ли текущее разрешение подмножеством указанного разрешения. |
| MemberwiseClone() |
Устаревшие..
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| PermitOnly() |
Устаревшие..
Запрещает вызывающим объектам в стеке вызовов использовать код, который вызывает этот метод для доступа ко всем ресурсам, кроме ресурса, указанного текущим экземпляром. |
| RevertAll() |
Устаревшие..
Вызывает все предыдущие переопределения для удаления текущего кадра и больше не действует. |
| RevertAssert() |
Устаревшие..
Приводит к удалению любого предыдущего Assert() кадра и больше не действует. |
| RevertDeny() |
Устаревшие..
Устаревшие..
Приводит к удалению любого предыдущего Deny() кадра и больше не действует. |
| RevertPermitOnly() |
Устаревшие..
Приводит к удалению любого предыдущего PermitOnly() кадра и больше не действует. |
| ToString() |
Устаревшие..
Создает и возвращает строковое представление текущего объекта разрешений. |
| ToXml() |
Устаревшие..
При переопределении в производном классе создает XML-кодировку объекта безопасности и его текущего состояния. |
| Union(IPermission) |
Устаревшие..
При переопределении в производном классе создает разрешение, которое является объединением текущего разрешения и указанного разрешения. |