Объявления разрешений сборки Классы, используемые для работы с объявлениями CAS.

Запросы разрешений сборок. Классы для работы с разрешениями CAS Запросы разрешений сборок.

Основные причины на исп-ие объявления сборок CAS :

1. Если исп-ть объявление CAS для добавления требований в мандатные сборки администр. при необходимости могут опр-ть требуемые разрешения.

2. Если разработчик не включает в прил-ие возможность обработки искл-ия, возникающие когда сборке не хватает разрешений CAS, то он может исп-ть методы RequestMinimum, для объявления всех разрешений CASнеобходимых прил-ию.

3. Исп-ие объявлений CAS для ограничения разрешения сборки, можно устранить опасность того, что злоумышленник воспользуется приложением для доступа к данным, к которым обычный доступ запрещен.

4. Если при разработке и тестировании прил-ия исп-ть объявление CAS Request Optional, используемая среда предоставит сборке только те разрешения,которые указал разработчик.

Классы для работы с разрешениями CAS.

Для каждого типа ресурсов,которые можно защитить в .NetFramework имеется отдельный класс. В таблице перечислены классы, а так же разрешения, которые нужно настроить при помощи утилиты .NetFramework Configurationчтобы предоставить сборке доступ.

В .NetFramework также имеются классы атрибутов для каждого из классов . .NetFramework автоматически исп-ет классы атрибутов когда разработчик декларативно ссылается на эти классы.

 

Объявления разрешений сборки Классы, используемые для работы с объявлениями CAS.

Класс – разрешение.

System.Data.Odbc.

OdbcPermission – RequiresFull Trust. System.Data.OleDb.

OleDbPermission – OLE DB.

System.Data.SqlClient.

SqlClientPermission – SQL Client.

System.data.OracleClient.

Oraclepermission – Requires Full Trust.

System.Diagnostics.

EventLogPermission – Event Log.

System.Diagnostics.

PerformanceCounterPermission – Performance Counter.

System.DirectooryServices.

DirectoryServicesPermission – Directory Services.

System.Drawing.Printing.PrintingPermission – Printing.

System.Messaging.MessageQueuePermission – Message Queue.

System.Net.Dnspermission – DNS.

System.Net.SocketPermission – Socket Access.

System.Net.WebPermission – Web Access.

System.Security.Permissions.

Environmentpermission – Environment variable.

System.Security.Permissions.

FileDialogPermission – File Dialog.

System.Security.Permissions.

FileIOPermission – File IO

System.Security.Permissions.

IsolatedStoragePermission – Isolated Storage File.

System.Security.Permissions.Set – Security.

System.Security.Permissions.

PrincipalPermission – Security.

System.Security.Permissions.

PublisherIdentitypermission – Security.

System.Security.Permissions.

ReflectionPermission – Reflection.

System.Security.Permissions.

RegistryPermission – Registry.

System.Security.Permissions.

RecourcePermissionBase – Security.

System.Security.Permissions.

SecurityPermission – Security.

System.Security.Permissions.

SiteIdentityPermission – Security.

System.Security.Permissions.

StrongNameIdentityPermission – Security.

System.Security.Permissions.

UIPermission – User Interface.

System.Security.Permissions.

UrlIdentityPermission – Security.

System.Security.Permissions.

ZoneIdentityPermission – Security.

System.SeviceProcess.

ServiceControllerPermission – Service Controller.

System.Web.AspNetHostingPermission – Web Access.

Каждый класс имеет уникальные члены, кот. можно использовать для дальнейшего управления разрешениями. Т.к. классы атрибутов разрешений наследуются от класса Code.AccessSecurityAttribute, все они имеют общие свойства и методы.

Обычно использ-ся 2 станд-х св-ва:

1)Action – указ.действие по защите, которое нужно выполнить. Для задания значения этому св-ву использ.перечислимые Security Action.

2) Unrestricted – значение типа Boolean, указывающие, что разрешение предост.доступ ко всем разрешениям класса.

Присвоение значения true эквивалентно установке переключателя «Предоставить неогр.доступ к ФС» (Grant assembles unrestrictedaccess to the file system) при определении параметров разрешений утилиты .NETFramework Configuration.