Разрешения коду на доступ
Разрешения коду на доступ
Для доступа к ресурсу, такому, например, как файл, или для выполнения определенной операции коду требуются разрешения Некоторые разрешения даются каждой сборке политикой безопасности (о которой еще пойдет речь в этой главе). Разрешения коду на доступ могут запрашиваться самим кодом. И тогда, исходя из политики безопасности для той или иной сборки, общеязыковая среда выполнения CLR будет решать, какие разрешения следует предоставить. О том, как писать нестандартное разрешение, мы говорить не будем
Вот некоторые примеры разрешений коду на доступ:
- DNSPermission управляет доступом к имеющимся в сети серверам доменных имен;
- EnvironmentPermission управляет доступом на чтение или запись переменных среды;
- FilelOPermission управляет доступом к файлам и каталогам;
- FileDialogPermission позволяет читать файлы, выбранные в диалоговом окне Open (Открыть). Полезно тогда, когда FilelOPermission не предоставлено;
- Ref lectionPermission управляет возможностями получения доступа к метаданным, не являющимся общедоступными, и способностью порождать метаданные,
- RegistryPermission управляет возможностью получать доступ к системному реестру и изменять его,
- SecurityPermission управляет использованием подсистемы защиты,
- SocketPermission управляет возможностью устанавливать соединения или принимать их по транспортному адресу;
- UlPPermission управляет пользователями различных средств пользовательского интерфейса, в том числе и буферами обмена;
- WebPermission управляет возможностью устанавливать соединения или принимать их по Web-адресу.
Использование этих разрешений называется защитой доступа для кода (Code Access Security), потому что в их основе лежит не личность пользователя, выполняющего код, а то, имеет ли сам код право предпринять некоторое действие.
Содержание раздела