Сценарии для технологий ACL
Обновлен: Ноябрь 2007
Классы, относящиеся к пространству имен System.Security.AccessControl, позволяют программным способом создавать и изменять списки управления доступом DACL и SACL, связанные с защищенными ресурсами.
В данном разделе приводится описание двух наиболее распространенных сценариев управления доступом и аудита: определение правил при создании ресурса и программное изменение правил для существующего ресурса.
Сценарий 1. Создание правила доступа или аудита для нового файла или каталога
Иногда приложению необходимо создать файл или папку. В этом сценарии описывается способ задания списка ACL для нового файла или папки с помощью управляемых классов ACL.
Ключевые моменты сценария
Создайте приложение, выполняющее следующие задачи.
Создает один или несколько объектов FileSystemAccessRule или FileSystemAuditRule, которые будут представлять применяемые правила.
Добавляет объекты FileSystemAccessRule или FileSystemAuditRule к новому объекту FileSecurity или DirectorySecurity.
Создает новый файл или папку путем передачи объекта FileSecurity или DirectorySecurity соответствующему методу или конструктору. Любой конструктор или метод для создания файла или папки имеет перегрузку, принимающую параметр безопасности файла. Так, для задания списка ACL в момент создания файла или папки можно использовать методы File.Create, Directory.CreateDirectory и FileStream.FileStream, а также ряд других методов.
Сценарий 2. Изменение правила доступа или аудита для существующего файла или каталога
Иногда необходимо программно изменить список ACL для существующего файла или папки. В этом сценарии описывается способ изменения списка ACL для существующего файла или папки с помощью управляемых классов ACL.
Ключевые моменты сценария
Создайте приложение, выполняющее следующие задачи.
Извлекает объект FileSecurity или DirectorySecurity из существующего файла или папки с помощью метода GetAccessControl или GetAccessControl.
Создает один или несколько объектов FileSystemAccessRule или FileSystemAuditRule, которые будут представлять применяемые правила.
Добавляет объекты FileSystemAccessRule или FileSystemAuditRule к объекту FileSecurity или DirectorySecurity.
Сохраняет объект FileSecurity или DirectorySecurity с помощью метода SetAccessControl или GetAccessControl.