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


Редактор контроль доступа

Редактор управления доступом — это набор страниц свойств и страниц свойств, которые позволяют пользователю просматривать и изменять компоненты дескриптора безопасности объекта. Редактор состоит из двух main частей:

Функция CreateSecurityPage создает страницу базовых свойств безопасности. Затем можно использовать функцию PropertySheet или сообщение PSM_ADDPAGE , чтобы добавить эту страницу на лист свойств.

Кроме того, можно использовать функцию EditSecurity для отображения страницы свойств, содержащей базовую страницу свойств безопасности.

Для CreateSecurityPage и EditSecurity вызывающий объект должен передать указатель на реализацию интерфейса ISecurityInformation . Редактор управления доступом вызывает методы этого интерфейса для получения сведений об управлении доступом к редактируемом объекте и передачи входных данных пользователя обратно в приложение. Методы ISecurityInformation имеют следующие цели:

  • Для инициализации страниц свойств.

    Реализация метода GetObjectInformation передает в редактор структуру SI_OBJECT_INFO . Эта структура определяет страницы свойств, которые должны отображаться в редакторе, и другие сведения, определяющие параметры редактирования, доступные пользователю.

  • Предоставление сведений о безопасности редактируемого объекта.

    Реализация GetSecurity передает исходный дескриптор безопасности объекта в редактор. Методы GetAccessRights и MapGeneric предоставляют сведения о правах доступа объекта. Метод GetInheritTypes предоставляет сведения о том, как ACE объекта могут наследоваться дочерними объектами.

  • Чтобы передать входные данные пользователя обратно в приложение.

    Когда пользователь нажимает кнопку "Ок" или "Применить", редактор вызывает метод SetSecurity , чтобы передать дескриптор безопасности, содержащий изменения пользователя.