на начало
На главную страницу
Форум   

Статья :: Разрешения


Разрешения

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

  • SecurityPermission управляет доступом к системе безопасности. В понятие управления доступом входит право вызывать неуправляемый код, управлять потоками, принципалами, прикладными областями, подтверждениями и т п.,
  • FilelOPermission управляет доступом к файловой системе;
  • ReflectionPermission управляет доступом к метаданным, не являющимся общедоступными, а также к динамической генерации модулей, типов и членов.

Все классы разрешений являются производными от базового класса CodeAccess-Permission, поэтому они ведут себя одинаково.
Запрос на некоторые разрешения можно формировать с помощью значений параметров сборки. Общеязыковая среда выполнения CLR использует метаданные для определения того, какие именно разрешения запрашиваются. Затем, используя личность кода и уровень доверия, общеязыковая среда выполнения CLR на основе политики безопасности решит, можно ли предоставить эти разрешения.
Код перед выполнением определенных ветвей может с помощью программных средств требовать (то есть запрашивать), чтобы вызывающий его код имел те или иные разрешения. Если требование не выполняется, то общеязыковая среда выполнения CLR запускает исключение System: : Security: : SecurityException. Требуя любое разрешение, надо быть готовым перехватить это исключение и работать в ситуации, когда разрешение не предоставлено. Большинству программистов не нужно требовать разрешений, потому что библиотеки каркаса .NET делают это от вашего имени за вас. Впрочем, вы все равно должлы быть готовы обеспечить обработку исключений.
Код может делать за прос также на то, чтобы предоставленные ему разрешения были ограничены или отменены. Это важно для кода, который использует компоненты или Web-сценарии от сторонних производителей. Поскольку у такого кода может быть меньший уровень доверия, чем у полностью написанного вами, то, пока он выполняется, возможно, придется ограничить имеющиеся у него права. После завершения выполнения кода можно восстановить разрешения на прежнем уровне.
Определение личности кода равнозначно вопросу опознавания в традиционной системы безопасности. А. вот вопрос о разрешениях решается на основе разрешений, предоставленных сборке ил и отнятых у нее.
Многие из классов, поддерживающих разрешения, находятся в пространстве имен System: :Secunty: : ^Permissions (Система::Безопасность::Разрешения). Кроме того, разрешения поддерживаются и некоторыми классами из пространств имен System: :Net (Система::Сеть) и Sys tem:: Data (Система-Данные).


Разрешения

страницы в данном разделе 
Глава 13. Защита Защита
Защита на основе пользователей Защита доступа к коду
Политика безопасности Разрешения
lnternet-безопасность Информационный сервер Internet: Internet Information Server (MS)
Защита .NET на основе ролей Принципалы и личности
Роли .NET в Windows Другие классы личностей
Личность в операционной системе и общеязыковой среде выполнения CLR Разрешения коду на доступ
Простой запрос разрешения кодом Как работает запрос на разрешение
Стратегия запроса разрешений Запрет разрешений
Утверждение разрешений Другие методы разрешений
Класс SecurityPermission Неуправляемый код
Разрешения на основе атрибутов Разрешение принципала
Класс PermissionSet Личность кода
Классы разрешений для личности Подтверждение
Политика безопасности Уровни политики безопасности
Кодовые группы Именованные наборы разрешений
Изменение политики безопасности Резюме


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C



 
© faq.pp.ru, справочник программиста