Access Control-redigeraren
Redigeringsprogrammet för åtkomstkontroll är en uppsättning egenskapsblad och egenskapssidor som gör att användaren kan visa och ändra komponenterna i ett objekts säkerhetsbeskrivning. Redigeraren består av två huvuddelar:
- En grundläggande säkerhetsegenskapssida som tillhandahåller ett enkelt gränssnitt för redigering av åtkomstkontrollposter (ACL) i ett objekts diskretionära (DACL). Den här sidan kan innehålla en valfri knappen Avancerat som visar egenskapsbladet för avancerad säkerhet.
- Ett avancerade säkerhetsegenskapsblad med egenskapssidor som gör det möjligt för användaren att redigera objektets lista över systemåtkomstkontroll (SACL), ändra objektets ägare eller utföra avancerad redigering av objektets DACL.
Funktionen CreateSecurityPage skapar den grundläggande säkerhetsegenskapssidan. Du kan sedan använda funktionen PropertySheet eller PSM_ADDPAGE-meddelandet för att lägga till den här sidan i ett egenskapsblad.
Du kan också använda funktionen EditSecurity för att visa ett egenskapsblad som innehåller den grundläggande säkerhetsegenskapssidan.
För både CreateSecurityPage och EditSecuritymåste anroparen skicka en pekare till en implementering av gränssnittet ISecurityInformation. Åtkomstkontrollredigeraren anropar metoderna i det här gränssnittet för att hämta information om åtkomstkontroll om objektet som redigeras och för att skicka tillbaka användarens indata till ditt program. Metoderna ISecurityInformation har följande syften:
Initiera egenskapssidorna.
Din implementering av metoden GetObjectInformation skickar en SI_OBJECT_INFO struktur till redigeraren. Den här strukturen anger de egenskapssidor som du vill att redigeraren ska visa och annan information som avgör vilka redigeringsalternativ som är tillgängliga för användaren.
Ange säkerhetsinformation om objektet som redigeras.
Implementeringen av GetSecurity skickar objektets första säkerhetsbeskrivning till redigeraren. Metoderna GetAccessRights och MapGeneric innehåller information om objektets åtkomsträttigheter. Metoden GetInheritTypes innehåller information om hur objektets ACL:er kan ärvas av underordnade objekt.
Skicka tillbaka användarens indata till ditt program.
När användaren klickar på Okej eller Användanropar redigeraren metoden SetSecurity för att skicka tillbaka en säkerhetsbeskrivning som innehåller användarens ändringar.