Architecture Net



         

Изменение политики безопасности - часть 2


5.gif

Рис. 13.5. Разрешения Userlnterface из набора Internet для машинного уровня

На рис. 13.6 показаны свойства кодовой группы в зоне Internet для политики на машинном уровне. Видно, что для этой группы выбран тип условия Zone (Зона), а значением, связанным с этим типом, является зона Internet. Просмотреть или выбрать именованный набор разрешений, связанный с зоной Internet, можно на вкладке Permission Set (Набор разрешений).
Чтобы показать, как политика безопасности влияет на выполнение кода, рассмотрим пример Policy (Политика). Этот пример, если не учитывать показанный ниже код, аналогичен уже рассмотренному примеру Evidence (Подтверждение) Кроме вывода информации, относящейся к подтверждению, при выполнении примера Policy (Политика) выводится также содержимое файла read txt.

String *filename = ".\\read.txt"; // Строка
try
{
String *fileWithFullPath = // Строка
Path::GetFullPath(filename); // имя файла
Filelnfo *file = new Filelnfo(filename); // имя файла
StreamReader *sr = file->OpenText(); // файл
String *text; // Строка
text = sr->ReadLine(); // текст
while (text '=0)
// пока (текст1 = 0)
{
Console::WriteLine(text); // текст
text = sr->ReadLine(); // текст
}
sr->Close();
}
catch(Exception *e) // Исключение
{
Console::WriteLine(e->Message); // Сообщение
}

Если, ничего не изменяя в пользовательской политике безопасности, заданной по умолчанию, выполнить программу Policy (Политика), то можно увидеть, что эта программа успешно читает файл Ну, а если сделать в политике описанные ниже изменения, то при попытке прочитать файл выполнение этого примера аварийно завершится с запуском исключения Security Exception (Исключение защиты)

6.gif

Рис. 13.6. Диалоговое окно свойств для зоны Internet, политика на машинном уровне

На рис 13 7 показана проводимая по умолчанию пользовательская политика (Сейчас мы работаем не на машинном уровне, а на уровне пользователя )
Теперь, чтобы можно было управлять политикой безопасности для сборки примера Policy (Политика), мы добавим новый именованный набор разрешений, TestStrongName, а также новую именованную кодовую группу, TestStrongNameGroup




Содержание  Назад  Вперед