CodeAccessPermission Класс

Определение

Определяет базовую структуру всех разрешений доступа к коду.

public ref class CodeAccessPermission abstract : 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
[<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
Public MustInherit Class CodeAccessPermission
Implements IPermission, IStackWalk
Наследование
CodeAccessPermission
Производный
Атрибуты
Реализации

Комментарии

Предостережение

Безопасность доступа к коду (CAS) устарела во всех версиях платформ .NET Framework, и .NET. Последние версии .NET не учитывают заметки CAS и создают ошибки, если используются API, связанные с CAS. Разработчики должны искать альтернативные средства выполнения задач безопасности.

Разрешения доступа к коду используют пошаговое руководство по стеку, чтобы убедиться, что всем вызывающим файлам кода предоставлено разрешение. Если объект разрешения имеет nullзначение, он обрабатывается так же, как объект разрешения с состоянием PermissionState.None.

Стек вызовов обычно представлен как растущий, так что методы выше в методах вызова стека вызовов ниже в стеке вызовов.

Наследующие классу должны быть предоставлены полное доверие для правильной CodeAccessPermission работы в качестве разрешений, расширяющих инфраструктуру безопасности. Чтобы определить, что наследующие являются полностью доверенными, CodeAccessPermission возникают проблемы InheritanceDemand и ControlPolicyControlEvidencetrue = true = .

Примечания для тех, кто реализует этот метод

При наследовании IUnrestrictedPermission от CodeAccessPermission, необходимо также реализовать интерфейс.

Следующие 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)

При переопределении в производном классе создает разрешение, которое является объединением текущего разрешения и указанного разрешения.

Применяется к