Разрешения для доступа к коду

Разрешения для доступа к коду — это объекты разрешений, применяемые для защиты ресурсов и операций от несанкционированного использования. Они являются основополагающей частью механизма общеязыковой среды выполнения, контролирующего соблюдение ограничений безопасности для управляемого кода.

Каждое разрешение для доступа к коду предоставляет одно из следующих прав.

  • Право доступа к защищенному ресурсу, такому как файл или переменная среды.

  • Право выполнять защищенную операцию, такую как получение доступа к неуправляемому коду.

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

Каждое разрешение доступа к коду является производным от класса CodeAccessPermission; это означает, что все разрешения доступа кода используют общие методы, такие как Demand, Assert, Deny, PermitOnly, IsSubsetOf, Intersect и Union.

Важное примечаниеВажно

В версии .NET Framework 4 удалена поддержка среды выполнения для принудительного применения запросов разрешений Deny, RequestMinimum, RequestOptional и RequestRefuse.Эти запросы нельзя использовать в коде, основанном на .NET Framework 4 или более поздних версиях.Дополнительные сведения об этом и других изменениях см. в разделе Изменения системы безопасности в платформе .NET Framework 4.

В .NET Framework поддерживаются следующие разрешения доступа кода.

Имя класса разрешения

Предоставляемое право

AspNetHostingPermission

Доступ к ресурсам в среде размещения ASP.NET.

DirectoryServicesPermission

Доступ к классам System.DirectoryServices.

DnsPermission

Доступ к системе доменных имен (DNS).

EnvironmentPermission

Чтение или запись переменных среды.

EventLogPermission

Чтение или запись при доступе к журналам событий.

FileDialogPermission

Доступ к файлам, которые были выбраны пользователем в диалоговом окне Открыть.

FileIOPermission

Чтение, добавление в конец или запись файлов или каталогов.

IsolatedStorageFilePermission

Доступ к изолированному хранилищу, связанному с определенным пользователем и некоторыми аспектами удостоверения кода, такими как его веб-узел, издатель или подпись.

MessageQueuePermission

Доступ к очередям сообщений через управляемые интерфейсы Microsoft Message Queuing (MSMQ).

OdbcPermission

Доступ к источнику данных ODBC.

OleDbPermission

Доступ к базам данных посредством OLE DB.

OraclePermission

Доступ к базе данных Oracle.

PerformanceCounterPermission

Обращаться к счетчикам производительности.

PrintingPermission

Доступ к принтерам.

ReflectionPermission

Получение сведений о типе во время выполнения.

RegistryPermission

Чтение, запись, создание или удаление разделов реестра и их значений.

SecurityPermission

Выполнение, утверждение разрешений, вызов в неуправляемый код, пропуск проверки и прочие права.

ServiceControllerPermission

Доступ к запущенным или остановленным службам.

SocketPermission

Создание или принятие подключений к адресу транспортного уровня.

SqlClientPermission

Доступ к базе данных SQL.

UIPermission

Доступ к функциям пользовательского интерфейса.

WebPermission

Создание или принятие подключений к веб-адресу.

Помимо этого .NET Framework поддерживает следующие абстрактные классы, которые можно использовать для создания собственных разрешений.

Имя класса разрешения

Предоставляемое право

DBDataPermission

Доступ к базе данных.

IsolatedStoragePermission

Доступ к изолированному хранилищу.

ResourcePermissionBase

Доступ к системным ресурсам.

См. также

Ссылки

CodeAccessPermission

Основные понятия

Разрешения безопасности