Поделиться через


Пример Code Access Security Technology

Обновлен: Ноябрь 2007

В этом примере демонстрируется управление доступом для кода, механизм, предоставляющий или запрещающий доступ к ресурсам при вызове метода. Например, код, написанный Майкрософт может быть разрешен для записи на диск, в то время как для кода другой компании доступ к диску может быть запрещен. Этот элемент управления применяется, даже если в одном приложении используется код обеих компаний. В этом примере код периодически пытается получить доступ к файлу диска и переменной среды. Перед каждой попыткой для наблюдения эффекта изменяются права доступа кода. Дополнительные сведения об управлении доступом для кода см. в комментариях в файлах исходного кода.

Дополнительные сведения об использовании примеров см. в следующих разделах:

Download sample

Построение примера с использованием командной строки

  1. Перейдите с помощью командной строки к одной из вложенных папок в каталоге управления доступом для кода, соответствующей выбранному языку.

  2. Введите 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

  1. Откройте обозреватель Windows и перейдите к одной из вложенных папок в каталоге CAS, соответствующей выбранному языку.

  2. Дважды щелкните значок PermissionsCS.sln или PermssionsVB.sln, в зависимости от выбранного языка программирования, чтобы открыть файл в Visual Studio 2005.

  3. В меню Построение выберите команду Построить решение.

По умолчанию образец приложения будет создан в подкаталоге \bin или \bin\Debug.

Выполнение примера

  1. В окне командной строки перейдите в каталог, содержащий новый исполняемый файл.

  2. В командной строке введите Permissions.exe.

w13k1y70.alert_note(ru-ru,VS.90).gifПримечание.

В данном образце выполняется построение консольного приложения. Чтобы просмотреть выводимые им данные, необходимо загрузить и выполнить его в окне командной строки.

Требования

Версия .Net Framework: 2.0, 1.1

Примечания

Технологии и классы, используемые в этом примере, включают следующее:

  • Безопасность

    • PermissionSet — управляет набором разрешений, а также утверждением и запрещением разрешений в стеке.

    • CodeAccessPermission — используется для собственных статических методов RevertDeny и RevertAssert, которые отменяют результаты функций утверждения и запрещения.

    • FileIOPermission — управляет разрешением для выполнения таких запросов файловой системы, как чтение и запись.

    • EnvironmentPermission — управляет разрешением для доступа к переменным среды.

  • Ввод и вывод

    • FileStream открывает, считывает и записывает файлы в примере.

    • Path возвращает полный путь файла. Это особенно важно при работе с FileIOPermissions, так как безопасность системы основывается на полном пути файла.

  • Переменные среды

    • Environment считывает переменные среды для процесса.

См. также

Ссылки

CodeAccessPermission

Environment

EnvironmentPermission

FileIOPermission

FileStream

Path

PermissionSet

System.IO

System.Security.Permissions

Другие ресурсы

Управление доступом для кода

Файловый и потоковый ввод-вывод

Основные понятия безопасности