Editor de control de acceso
El editor de control de acceso es un conjunto de hojas de propiedades y páginas de propiedades que permiten al usuario ver y modificar los componentes del descriptor de seguridad de de un objeto. El editor consta de dos partes principales:
- Una página de propiedades de seguridad básica que proporciona una interfaz sencilla para editar las entradas de control de acceso (ACE) en lalista de control de acceso discrecional (DACL) de un objeto. Esta página puede incluir un botón de avanzado de opcional que muestra la hoja de propiedades de seguridad avanzada.
- Una hoja de propiedades de seguridad avanzada con páginas de propiedades que permiten al usuario editar la lista de control de acceso del sistema del objeto (SACL), cambiar el propietario del objeto o realizar una edición avanzada de la DACL del objeto.
La función CreateSecurityPage crea la página de propiedades de seguridad básica. A continuación, puede usar la funciónPropertySheet deo el mensaje de PSM_ADDPAGE para agregar esta página a una hoja de propiedades.
Como alternativa, puede usar la función EditSecurity para mostrar una hoja de propiedades que contenga la página de propiedades de seguridad básica.
Para CreateSecurityPage y EditSecurity, el autor de la llamada debe pasar un puntero a una implementación de la interfaz ISecurityInformation. El editor de control de acceso llama a los métodos de esta interfaz para recuperar información de control de acceso sobre el objeto que se está editando y para devolver la entrada del usuario a la aplicación. Los métodos ISecurityInformation tienen los siguientes fines:
Para inicializar las páginas de propiedades.
La implementación del método GetObjectInformation pasa una estructura SI_OBJECT_INFO al editor. Esta estructura especifica las páginas de propiedades que desea que el editor muestre y otra información que determine las opciones de edición disponibles para el usuario.
Para proporcionar información de seguridad sobre el objeto que se está editando.
La implementación de GetSecurity pasa el descriptor de seguridad de inicial del objeto al editor. Los métodos GetAccessRights y MapGeneric proporcionan información sobre los derechos de acceso del objeto. El método GetInheritTypes proporciona información sobre cómo los OBJETOS secundarios pueden heredar los AEC del objeto.
Para volver a pasar la entrada del usuario a la aplicación.
Cuando el usuario hace clic en Ok o Aplicar, el editor llama al método SetSecurity para devolver un descriptor de seguridad que contenga los cambios del usuario.