Объявления разрешений сборки Классы, используемые для работы с объявлениями 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.