.NET Security → Класс SecurityPermission

Класс SecurityPermission управляет "метаразрешениями", которые, в свою очередь, управляют подсистемой защиты общеязыковой среды выполнения CLR. Давайте снова обратимся к примеру RoleBasedSecurity, который уже рассматривали в этой главе. В нем с помощью метода AppDomain: : SetPrincipalPolicy задавалась политика принципалов для прикладных областей:

AppDomain *ap = AppDomain::CurrentDomain;
ap->SetPrincipalPolicy(
PrincipalPolicy::WindowsPrincipal);

Опубликовал admin
11 Апр, Вторник 2006г.

.NET Security → Неуправляемый код

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

Опубликовал admin
11 Апр, Вторник 2006г.

.NET Security → Разрешения на основе атрибутов

Пример SimplePermissionAttributeRequest показывает, как использовать атрибуты для выдачи запросов на те или иные разрешения. В этом примере атрибут нужен для того, чтобы передать метаданные в сборку, для запуска которой требуется разрешение Centres JLPrincipal. Таким образом можно заранее узнать, какие компоненты конфликтуют с политикой безопасности.

Опубликовал admin
11 Апр, Вторник 2006г.

.NET Security → Разрешение принципала

Безопасность на основе ролей управляется классом PrincipalPermission. Пример под тем же названием проверяет с помощью этого класса, что личность пользователя, под которой запускается программа, — это Administrator (Администратор). Мы это делаем, передавая конструктору имя личности и строку, представляющую роль. И снова для разрешения мы применяем метод Demand (Требование), чтобы проверить законность запроса на разрешение.

Опубликовал admin
11 Апр, Вторник 2006г.

.NET Security → Класс PermissionSet

С набором разрешений можно работать, используя класс PermissionSet. Методы AddPermission и RemovePermission дают возможность добавлять в набор экземпляры класса, производного от CodeAccessPermission. Тогда методы Deny (Запретить), PermitOnly или Assert (Утвердить) можно применять не к отдельным разрешениям, а к целым их наборам. Таким образом легче указать, что разрешается компонентам и сценариям сторонних производителей. Пример PermissionSet показывает, как это делается.

Опубликовал admin
11 Апр, Вторник 2006г.


RSS-материал

Программирование для чайников.