Имя Пароль
Зарегистрироваться


* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Декларативная защита по правам доступа к коду
8 февраля 2009

Для управления доступом к системным ресурсам можно использовать декларатив-
ную защиту по правам доступа к коду вместо императивной защиты. Как и в случае
защиты, основанной на ролях, у каждого разрешения на доступ кода имеется экви-
валентный атрибут, которым можно пометить метод или класс. Декларативная за-
шита по правам доступа к коду годится также для проверки разрешений сборки в
целом.
Процедура применения атрибутов разрешении доступа к коду с классами и ме-
тодами не отличается от таковой для атрибутов защиты, основанной на ролях, за
исключением одного. Вместо роли в данном случае требуется указать значение
SecurityAction, которое представляет действие, предпринимаемое данным атрибутом.
Ниже показано, как при помощи декларативной безопасности отказать в предос-
тавлении разрешения File Ю Permission для класса:
Visual Basic .NET
<FileIOPermission(SecurityAction.Deny)>Public Class aClass
Реализация опущена.
End Class
Visual C#
[FileIOPermissiori(SeciirityAction. Deny)]
public class aClass
Флаги Security Action. Demand, SecurityAction. Deny, SecurityAction.Asserl и SecurityAc-
(ion. Permit Only эквивалентны методам Demand, Deny, Assert и PermitOnfy соответству-
ющих классов разрешений. Декларативная модель защиты поддерживает ряд до-
полнительных средств защиты, которые применяются к классам и методам. Флаг
SecurityAction- LinkDemandjpeftyej наличия права доступа к классу или методу толь-
ко у процедуры, непосредственно вызывающей этот класс или метод, а флаг Security -
Action. Inheritance Demand — наличия соответствующих прав у любого класса, произ-
водного от защищенного класса либо переопределяющего защищенный метод.
Атрибуты разрешений позволяют задавать требования безопасности и для сбор-
ки в целом. Существует три флага Security Action, которые можно определять в ди-
рективах, действующих на уровне сборки. Флаг Security Action. RequestMinimum про-
сит CLR назначить сборке заданное разрешение. Если системная политика безо-
пасности запрещает предоставление запрошенного разрешения, сборка не будет
исполнена. Флаг Security Action. Request Optional напоминает предыдущий, но позво-
ляет исполнить сборку даже при отказе в предоставлении запрошенных им разре-
шений. Флаг Security Action. Request Refuse заставляет CLR отказать сборке в предос-
тавлении указанных им прав. Все эти флаги определяют внутри директивы Assembly
(assembly):
Visual Basic .NET
<AsserriDly: FilelOPe mission (SecurityAction. RequestMinimum}>
Visual C#
[asseiibly: FileIOPerrnission(SecurityAction. RequestMinimurri}]
Как и при использовании декларативной защиты на основе ролей, атрибуты раз-
решений допускается инициализировать любыми разрешениями при помощи one
ратора := (Visual Basic .NET) или = (Visual C#). Следующий пример демонстрирует
декларативное предоставление разрешения на доступ к файлу:
Visual Basic .NET
<FileIOPe rrrissi on (SecuntyAct ion. Assert,
Write:="C:\myFile.txt")>Public Sub WriteFileO
Реализация опущена,
End Sim
Visual C#
[ FilelOPe rmission (SecurityAct ion. Assert.
Write="C:\\myFile.txt")]
public voic WriteFileO

Теги: .NET

Статьи по теме:

Общеязыковая исполняющая среда
Параметры
Создание перегруженных методов
Применение класса XmlDataDocument
Стыковка и фиксация элементов управления
Двоичные файлы .NET
Применение трассировочных переключателей
Структуры CTS
Удаление и отключение точек прерывания
Циклические ссылки
Стандартная система типов CTS
Blend PDF with Silverlight
Извлечение из сопутствующих сборок ресурсов, специфичных для культуры
Свойства, доступные только для чтения или только для записи
Интерфейсы как средство достижения полиморфизма
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Декларативная защита по правам доступа к коду. Регион сайта: Москва и Санкт-Петербург