Architecture Net



         

Простой запрос разрешения кодом - часть 2


Даже если у кода есть разрешение на чтение, полученное от общеязыковой среды выполнения CLR, у пользователя все равно должно быть разрешение на чтение от файловой системы. Если у пользователя такого разрешения нет, то при вызове метода OpenText будет запущено исключение UnauthorizedAccessException (Исключение Unau-IhorizedAccess, т.е. Исключение несанкционированного доступа).
Будьте внимательны, когда нужно передать коду в других сборках объекты, прошедшие проверку на безопасность в своих конструкторах. Поскольку проверка выполнена в конструкторе, то общеязыковая среда выполнения CLR уже не делает никаких проверок прав доступа. Сборка, которой вы передаете объект, может не иметь таких же прав, как ваша. И если бы объект Filelnfo был передан другой сборке, не получившей от общеязыковой среды выполнения CLR права на чтение, то ему общеязыковая среда выполнения CLR все равно не помешала бы получить доступ к файлу. Дело в том, что в таком случае не было бы никакой дополнительной проверки на безопасность. Конечно, разработчики пошли на этот компромисс ради производительности, — чтобы избежать проверки на безопасность при каждой операции. То же самое справедливо и для других разрешений коду на доступ.

CompEbook.ru Железо, дизайн, обучение и другие




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