Пример Code Access Security Technology
Обновлен: Ноябрь 2007
В этом примере демонстрируется управление доступом для кода, механизм, предоставляющий или запрещающий доступ к ресурсам при вызове метода. Например, код, написанный Майкрософт может быть разрешен для записи на диск, в то время как для кода другой компании доступ к диску может быть запрещен. Этот элемент управления применяется, даже если в одном приложении используется код обеих компаний. В этом примере код периодически пытается получить доступ к файлу диска и переменной среды. Перед каждой попыткой для наблюдения эффекта изменяются права доступа кода. Дополнительные сведения об управлении доступом для кода см. в комментариях в файлах исходного кода.
Дополнительные сведения об использовании примеров см. в следующих разделах:
Построение примера с использованием командной строки
Перейдите с помощью командной строки к одной из вложенных папок в каталоге управления доступом для кода, соответствующей выбранному языку.
Введите msbuild PermissionsCS.sln или msbuild.exe PermissionsVB.sln, в зависимости от выбранного языка программирования. Например, в каталоге C:\Documents and Settings\Имя пользователя\My Documents\Samples\Technologies\CAS\VB введите в командной строке msbuild.exe PermissionsVB.sln для построения версии Visual Basic.
Построение примера с использованием Visual Studio
Откройте обозреватель Windows и перейдите к одной из вложенных папок в каталоге CAS, соответствующей выбранному языку.
Дважды щелкните значок PermissionsCS.sln или PermssionsVB.sln, в зависимости от выбранного языка программирования, чтобы открыть файл в Visual Studio 2005.
В меню Построение выберите команду Построить решение.
По умолчанию образец приложения будет создан в подкаталоге \bin или \bin\Debug.
Выполнение примера
В окне командной строки перейдите в каталог, содержащий новый исполняемый файл.
В командной строке введите Permissions.exe.
Примечание. |
---|
В данном образце выполняется построение консольного приложения. Чтобы просмотреть выводимые им данные, необходимо загрузить и выполнить его в окне командной строки. |
Требования
Версия .Net Framework: 2.0, 1.1
Примечания
Технологии и классы, используемые в этом примере, включают следующее:
Безопасность
PermissionSet — управляет набором разрешений, а также утверждением и запрещением разрешений в стеке.
CodeAccessPermission — используется для собственных статических методов RevertDeny и RevertAssert, которые отменяют результаты функций утверждения и запрещения.
FileIOPermission — управляет разрешением для выполнения таких запросов файловой системы, как чтение и запись.
EnvironmentPermission — управляет разрешением для доступа к переменным среды.
Ввод и вывод
FileStream— открывает, считывает и записывает файлы в примере.
Path— возвращает полный путь файла. Это особенно важно при работе с FileIOPermissions, так как безопасность системы основывается на полном пути файла.
Переменные среды
- Environment— считывает переменные среды для процесса.