RevertPermitOnly – удаляет все предыдущие установки сделанные методами PermitOnly.
Вот пример кода, который демонстрирует использование этих методов:
try
{
FileIOPermission fper=
new FileIOPermission(
FileIOPermissionAccess.AllAccess,@”c:\”);
fper.Demand();
}
catch
{
//действия
}
Этот код можно использовать для проверки прав вашего приложения и соответствующей реакции. Так, в зависимости от прав, ваше приложение может иметь различный интерфейс, не давая пользователю делать то, на что он заведомо не имеет прав.
Просмотр групп и прав
Для просмотра информации о группах и правах можно использовать утилиту Caspol.exe, которая поставляется вместе с .NET Framework. Эта утилита позволяет не только просматривать, но и управлять группами и правами, но для управления я бы рекомендовал графическую оболочку, базирующуюся на этой утилите. Эта оболочка будет рассматриваться ниже.
Для получения параметров, принимаемых утилитой Caspol достаточно набрать ее имя и запустить. Мы не будем перечислять эти параметры, а просто покажем, как можно посмотреть информацию о группах и правах.
Команда ниже позволяет просмотреть информацию о группах:
caspol.exe –listgroups
Чтобы просмотреть группы, в которые входит данная сборка, необходимо выполнить следующую команду:
caspol.exe –resolvegroup <имя сборки>
В последней команде под именем сборки понимается как путь к файлу на локальном компьютере, так и адрес в Internet.
Аналогично, чтобы просмотреть список полномочий сборки, необходимо выполнить следующую команду:
caspol.exe –resolveperm <имя сборки>
Уровни политики защиты
До сих пор все было просто. Но возникает вопрос, а что происходит, если не рассматривать безопасность на конкретной машине, а применить туже схему в локальной сети или для конкретного пользователя. На самом деле, все довольно просто. .NET Framework осуществляет выбор прав, основываясь на уровнях политики защиты. Тут можно выделить три группы:
|