Partager via


Éditeur de contrôle d’accès

L’éditeur de contrôle d’accès est un ensemble de feuilles de propriétés et de pages de propriétés qui permettent à l’utilisateur d’afficher et de modifier les composants du descripteur de sécurité d’un objet. L’éditeur se compose de deux parties principales :

  • Une page de propriétés de sécurité de base qui fournit une interface simple pour modifier les entrées de contrôle d’accès (ACL) d’un objet dans la liste de contrôle d’accès discrétionnaire d 'un objet (DACL). Cette page peut inclure un bouton avancé qui affiche la feuille de propriétés de sécurité avancée.
  • Une feuille de propriétés de sécurité avancée avec des pages de propriétés qui permettent à l’utilisateur de modifier la liste de contrôle d’accès système de l’objet (SACL), de modifier le propriétaire de l’objet ou d’effectuer une modification avancée de la liste de contrôle d’accès système de l’objet.

La fonction CreateSecurityPage crée la page de propriétés de sécurité de base. Vous pouvez ensuite utiliser la fonctionPropertySheet ou le message PSM_ADDPAGE pour ajouter cette page à une feuille de propriétés.

Vous pouvez également utiliser la fonction EditSecurity pour afficher une feuille de propriétés contenant la page de propriétés de sécurité de base.

Pour les deux CreateSecurityPage et EditSecurity, l’appelant doit passer un pointeur vers une implémentation de l’interface ISecurityInformation. L’éditeur de contrôle d’accès appelle les méthodes de cette interface pour récupérer les informations de contrôle d’accès sur l’objet en cours de modification et pour transmettre l’entrée de l’utilisateur à votre application. Les méthodes ISecurityInformation ont les objectifs suivants :

  • Pour initialiser les pages de propriétés.

    Votre implémentation de la méthode GetObjectInformation transmet une structure SI_OBJECT_INFO à l’éditeur. Cette structure spécifie les pages de propriétés que vous souhaitez que l’éditeur affiche et d’autres informations qui déterminent les options d’édition disponibles pour l’utilisateur.

  • Pour fournir des informations de sécurité sur l’objet en cours de modification.

    Votre implémentation GetSecurity transmet le descripteur de sécurité initial de l’objet à l’éditeur. Les méthodes GetAccessRights et MapGeneric fournissent des informations sur les droits d’accès de l’objet. La méthode GetInheritTypes fournit des informations sur la façon dont les AE de l’objet peuvent être héritées par des objets enfants.

  • Pour transmettre l’entrée de l’utilisateur à votre application.

    Lorsque l’utilisateur clique sur ok ou Appliquer, l’éditeur appelle votre méthode SetSecurity pour transmettre un descripteur de sécurité contenant les modifications de l’utilisateur.