Разрешения для доступа к коду
Обновлен: Ноябрь 2007
Разрешения для доступа к коду — это объекты разрешений, применяемые для защиты ресурсов и операций от несанкционированного использования. Они являются основополагающей частью механизма общеязыковой среды выполнения, контролирующего соблюдение ограничений безопасности для управляемого кода.
Каждое разрешение для доступа к коду предоставляет одно из следующих прав.
Право доступа к защищенному ресурсу, такому как файл или переменная среды.
Право выполнять защищенную операцию, такую как получение доступа к неуправляемому коду.
Все разрешения доступа к коду могут быть запрошены или затребованы кодом, а среда выполнения определяет, какие разрешения следует предоставить коду, если таковые вообще будут предоставлены.
Каждое разрешение доступа к коду является производным от класса CodeAccessPermission; это означает, что все разрешения доступа кода используют общие методы, такие как Demand, Assert, Deny, PermitOnly, IsSubsetOf, Intersect и Union.
В .NET Framework поддерживаются следующие разрешения доступа кода.
Имя класса разрешения |
Предоставляемое право |
---|---|
Доступ к ресурсам в среде размещения ASP.NET. |
|
Доступ к классам System.DirectoryServices. |
|
Доступ к системе доменных имен (DNS). |
|
Чтение или запись переменных среды. |
|
Чтение или запись при доступе к журналам событий. |
|
Доступ к файлам, которые были выбраны пользователем в диалоговом окне Открыть. |
|
Чтение, добавление в конец или запись файлов или каталогов. |
|
Доступ к изолированному хранилищу, связанному с определенным пользователем и некоторыми аспектами удостоверения кода, такими как его веб-узел, издатель или подпись. |
|
Доступ к очередям сообщений через управляемые интерфейсы Microsoft Message Queuing (MSMQ). |
|
Доступ к источнику данных ODBC. |
|
Доступ к базам данных посредством OLE DB. |
|
Доступ к базе данных Oracle. |
|
Доступ к счетчикам производительности. |
|
Доступ к принтерам. |
|
Получение сведений о типе во время выполнения. |
|
Чтение, запись, создание или удаление разделов реестра и их значений. |
|
Выполнение, утверждение разрешений, вызов в неуправляемый код, пропуск проверки и прочие права. |
|
Доступ к запущенным или остановленным службам. |
|
Создание или принятие подключений к адресу транспортного уровня. |
|
Доступ к базе данных SQL. |
|
Доступ к функциям пользовательского интерфейса. |
|
Создание или принятие подключений к веб-адресу. |
Помимо этого .NET Framework поддерживает следующие абстрактные классы, которые можно использовать для создания собственных разрешений.
Имя класса разрешения |
Предоставляемое право |
---|---|
Доступ к базе данных. |
|
Доступ к изолированному хранилищу. |
|
Доступ к системным ресурсам. |