Access Control-Editor
Der Zugriffssteuerungs-Editor besteht aus einer Reihe von Eigenschaftenblättern und Eigenschaftenseiten, mit denen der Benutzer die Komponenten des Sicherheitsdeskriptors eines Objekts anzeigen und ändern kann. Der Editor besteht aus zwei Standard Teilen:
- Eine grundlegende Sicherheitseigenschaftenseite , die eine einfache Schnittstelle zum Bearbeiten der Zugriffssteuerungseinträge (Access Control Entries , ACEs) in der daCL (Discretionary Access Control List ) eines Objekts bereitstellt. Diese Seite kann eine optionale Schaltfläche Erweitert enthalten, auf der das Eigenschaftenblatt für erweiterte Sicherheit angezeigt wird.
- Ein erweitertes Sicherheitseigenschaftenblatt mit Eigenschaftenseiten, die es dem Benutzer ermöglichen, die SACL (System Access Control List ) des Objekts zu bearbeiten, den Besitzer des Objekts zu ändern oder eine erweiterte Bearbeitung der DACL des Objekts durchzuführen.
Die CreateSecurityPage-Funktion erstellt die Grundlegende Sicherheitseigenschaftsseite. Anschließend können Sie die PropertySheet-Funktion oder die PSM_ADDPAGE Meldung verwenden, um diese Seite einem Eigenschaftenblatt hinzuzufügen.
Alternativ können Sie die EditSecurity-Funktion verwenden, um ein Eigenschaftenblatt anzuzeigen, das die Seite mit den grundlegenden Sicherheitseigenschaften enthält.
Sowohl für CreateSecurityPage als auch für EditSecuritySecurity muss der Aufrufer einen Zeiger an eine Implementierung der ISecurityInformation-Schnittstelle übergeben. Der Zugriffssteuerungs-Editor ruft die Methoden dieser Schnittstelle auf, um Zugriffssteuerungsinformationen über das zu bearbeitende Objekt abzurufen und die Eingabe des Benutzers an Ihre Anwendung zurückzugeben. Die ISecurityInformation-Methoden haben folgende Zwecke:
So initialisieren Sie die Eigenschaftenseiten.
Ihre Implementierung der GetObjectInformation-Methode übergibt eine SI_OBJECT_INFO-Struktur an den Editor. Diese Struktur gibt die Eigenschaftenseiten an, die vom Editor angezeigt werden sollen, sowie andere Informationen, die die für den Benutzer verfügbaren Bearbeitungsoptionen bestimmen.
Bereitstellen von Sicherheitsinformationen über das objekt, das bearbeitet wird.
Ihre GetSecurity-Implementierung übergibt den anfänglichen Sicherheitsdeskriptor des Objekts an den Editor. Die Methoden GetAccessRights und MapGeneric stellen Informationen zu den Zugriffsrechten des Objekts bereit. Die GetInheritTypes-Methode stellt Informationen dazu bereit, wie die ACEs des Objekts von untergeordneten Objekten geerbt werden können.
So übergeben Sie die Eingabe des Benutzers zurück an Ihre Anwendung.
Wenn der Benutzer auf Ok oder Anwenden klickt, ruft der Editor Ihre SetSecurity-Methode auf, um eine Sicherheitsbeschreibung mit den Änderungen des Benutzers zurück zu übergeben.