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


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

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

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

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

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

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

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

  • Чтобы предоставить сведения о безопасности редактируемого объекта.

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

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

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