editor Controllo di accesso

L'editor di controllo di accesso è un set di fogli di proprietà e pagine delle proprietà che consentono all'utente di visualizzare e modificare i componenti del descrittore di sicurezza di un oggetto. L'editor è costituito da due parti principali:

La funzione CreateSecurityPage crea la pagina delle proprietà di sicurezza di base. È quindi possibile usare la funzione PropertySheet o il messaggio PSM_ADDPAGE per aggiungere questa pagina a un foglio delle proprietà.

In alternativa, è possibile usare la funzione EditSecurity per visualizzare un foglio delle proprietà contenente la pagina della proprietà di sicurezza di base.

Per CreateSecurityPage e EditSecurity, il chiamante deve passare un puntatore a un'implementazione dell'interfaccia ISecurityInformation . L'editor di controllo di accesso chiama i metodi di questa interfaccia per recuperare le informazioni di controllo di accesso sull'oggetto modificato e per passare l'input dell'utente all'applicazione. I metodi ISecurityInformation hanno gli scopi seguenti:

  • Per inizializzare le pagine delle proprietà.

    L'implementazione del metodo GetObjectInformation passa una struttura SI_OBJECT_INFO all'editor. Questa struttura specifica le pagine delle proprietà che si desidera che l'editor visualizzi e altre informazioni che determinano le opzioni di modifica disponibili per l'utente.

  • Per fornire informazioni di sicurezza sull'oggetto da modificare.

    L'implementazione di GetSecurity passa il descrittore di sicurezza iniziale dell'oggetto all'editor. I metodi GetAccessRights e MapGeneric forniscono informazioni sui diritti di accesso dell'oggetto. Il metodo GetInheritTypes fornisce informazioni sul modo in cui gli ACL dell'oggetto possono essere ereditati dagli oggetti figlio.

  • Per passare nuovamente l'input dell'utente all'applicazione.

    Quando l'utente fa clic su Okay o Applica, l'editor chiama il metodo SetSecurity per passare un descrittore di sicurezza contenente le modifiche dell'utente.