Architecture Net или что такое Microsoft.NET?




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

Для доступа к ресурсу, такому, например, как файл, или для выполнения определенной операции коду требуются разрешения Некоторые разрешения даются каждой сборке политикой безопасности (о которой еще пойдет речь в этой главе). Разрешения коду на доступ могут запрашиваться самим кодом. И тогда, исходя из политики безопасности для той или иной сборки, общеязыковая среда выполнения CLR будет решать, какие разрешения следует предоставить. О том, как писать нестандартное разрешение, мы говорить не будем
Вот некоторые примеры разрешений коду на доступ:

  • DNSPermission управляет доступом к имеющимся в сети серверам доменных имен;
  • EnvironmentPermission управляет доступом на чтение или запись переменных среды;
  • FilelOPermission управляет доступом к файлам и каталогам;
  • FileDialogPermission позволяет читать файлы, выбранные в диалоговом окне Open (Открыть). Полезно тогда, когда FilelOPermission не предоставлено;
  • Ref lectionPermission управляет возможностями получения доступа к метаданным, не являющимся общедоступными, и способностью порождать метаданные,
  • RegistryPermission управляет возможностью получать доступ к системному реестру и изменять его,
  • SecurityPermission управляет использованием подсистемы защиты,
  • SocketPermission управляет возможностью устанавливать соединения или принимать их по транспортному адресу;
  • UlPPermission управляет пользователями различных средств пользовательского интерфейса, в том числе и буферами обмена;
  • WebPermission управляет возможностью устанавливать соединения или принимать их по Web-адресу.

Использование этих разрешений называется защитой доступа для кода (Code Access Security), потому что в их основе лежит не личность пользователя, выполняющего код, а то, имеет ли сам код право предпринять некоторое действие.