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


* При перепечатке материалов ссылка на 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

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

Сборки
Обработка событий клавиатуры на уровне формы
Замыкания (closure)
Вызов методов
Обзор .NET Framework
Конструкторы и деструкторы
Создание экземпляров элементов управления ActiveX
Тестирование элемента управления
Объекты Color, Brush и Pen
Использование провайдеров дополнительных свойств
Применение класса XmlDataDocument
Константы и перечисления
.NET Framework и языки программирования
Towards Cleaner Code, A C# Asynchronous Helper
Защищенные члены
| .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 31


     



Rambler's Top100

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

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