Hozzáférés-vezérlési szerkesztő
A hozzáférés-vezérlési szerkesztő tulajdonságlapok és tulajdonságlapok halmaza, amelyek lehetővé teszik a felhasználó számára, hogy megtekintse és módosítsa egy objektum biztonsági leírójának összetevőit. A szerkesztő két fő részből áll:
- Egy alapszintű biztonsági tulajdonságlap, amely egyszerű felületet biztosít a hozzáférés-vezérlési bejegyzések szerkesztéséhez, (ACE- k) az objektum diszkrecionális hozzáférés-vezérlési lista (DACL). Ez a lap tartalmazhat egy választható Speciális gombot, amely megjeleníti a speciális biztonsági tulajdonságlapot.
- Egy speciális biztonsági tulajdonságlap olyan tulajdonságlapokkal, amelyek lehetővé teszik a felhasználó számára az objektum rendszerhozzáférés-vezérlési lista (SACL) szerkesztését, az objektum tulajdonosának módosítását vagy az objektum DACL-jének speciális szerkesztését.
A CreateSecurityPage függvény létrehozza az alapvető biztonsági tulajdonságlapot. Ezután a PropertySheet függvénnyel vagy a PSM_ADDPAGE üzenet használatával hozzáadhatja ezt a lapot egy tulajdonságlaphoz.
Másik lehetőségként az EditSecurity függvénnyel megjelenítheti az alapszintű biztonsági tulajdonságlapot tartalmazó tulajdonságlapot.
CreateSecurityPage és EditSecurityesetén a hívónak át kell adnia egy mutatót az ISecurityInformation felület implementációjára. A hozzáférés-vezérlési szerkesztő meghívja ennek a felületnek a metódusait, hogy lekérje a szerkesztett objektum hozzáférés-vezérlési adatait, és adja vissza a felhasználó bemenetét az alkalmazásnak. Az ISecurityInformation metódusok céljai a következők:
A tulajdonságlapok inicializálása.
A GetObjectInformation metódus implementálása egy SI_OBJECT_INFO struktúrát ad át a szerkesztőnek. Ez a struktúra határozza meg a szerkesztő által megjelenítendő tulajdonságlapokat, valamint a felhasználó számára elérhető szerkesztési lehetőségeket meghatározó egyéb információkat.
A szerkesztett objektum biztonsági információinak megadása.
A GetSecurity implementációja átadja az objektum kezdeti biztonsági leíróját a szerkesztőnek. A GetAccessRights és MapGeneric metódusok információt nyújtanak az objektum hozzáférési jogosultságairól. A GetInheritTypes metódus információt nyújt arról, hogy az objektum ACL-eit hogyan örökölhetik gyermekobjektumok.
Ha vissza szeretné adni a felhasználó bemenetét az alkalmazásnak.
Amikor a felhasználó az Rendben vagy Alkalmazgombra kattint, a szerkesztő meghívja a SetSecurity metódust, hogy adja vissza a felhasználó módosításait tartalmazó biztonsági leírót.