на начало
На главную страницу
Форум   

Статья :: Запрет разрешений


Запрет разрешений

К разрешению можно применять метод Deny (Запретить). Тогда, даже если политика безопасности и разрешает доступ к файлу, любая попытка такого доступа будет безуспешной. Это демонстрируется примером Simple-PermissionCodeDenial. Вместо того, чтобы требовать разрешение, мы вызываем метод Deny (Запретить) объекта FilelOPermission.

try {
fileIOPerm->Deny(); Console::WriteLine(
"File Access Permission Removed"); // "Запретить доступ к файлу"
}
catch(SecurityException *se)
{
Console::WriteLine(se->Message); // Сообщение
}

Затем мы попытгемся прочитать файл с помощью метода ReadFile. Вскоре мы объясним, зачем это дегается внутри другого метода. Поскольку в этом разрешении было отказано, то конструктор Filelnf о запустит исключение SecurityException.

try
{
Filelnfo *f.le = new Filelnfo (filename) ; // имя файла
StreamReade: *sr = file->OpenText() ;
String *tex;; // Строка
text = sr-XeadLine();
while (text != 0)
{
Console. :WriteLine (" {0}", text); text = ;r->ReadLine ();
}
sr->Close ():
}
catch (SecurityE<ception *se)
{
Console: : WrLteLine(
"Could iot read file: {0}",se->Message); // Сообщение
// "He :мог прочитать файл: {0} "
}

Потом, чтобы шнулировать отказ в доступе, мы вызываем статический метод RevertDeny класс; FilelOPermission, и снова пытаемся прочитать файл. На этот раз файл читать можно Данный вызов Deny (Запретить) действует до тех пор, пока содержащий его код не в>звратит управление вызвавшей программе, или до следующего вызова метода Deny (Запретить). RevertDeny удаляет все текущие запросы Deny (Запретить).

FilelOPermissicn: :RevertDeny();
ReadFile();

Затем мы вызывем метод Deny (Запретить), чтобы еще раз удалить разрешение.


Запрет разрешений

страницы в данном разделе 
Глава 13. Защита Защита
Защита на основе пользователей Защита доступа к коду
Политика безопасности Разрешения
lnternet-безопасность Информационный сервер Internet: Internet Information Server (MS)
Защита .NET на основе ролей Принципалы и личности
Роли .NET в Windows Другие классы личностей
Личность в операционной системе и общеязыковой среде выполнения CLR Разрешения коду на доступ
Простой запрос разрешения кодом Как работает запрос на разрешение
Стратегия запроса разрешений Запрет разрешений
Утверждение разрешений Другие методы разрешений
Класс SecurityPermission Неуправляемый код
Разрешения на основе атрибутов Разрешение принципала
Класс PermissionSet Личность кода
Классы разрешений для личности Подтверждение
Политика безопасности Уровни политики безопасности
Кодовые группы Именованные наборы разрешений
Изменение политики безопасности Резюме


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C



 
© faq.pp.ru, справочник программиста