Udostępnij za pośrednictwem


Edytor kontroli dostępu

Edytor kontroli dostępu to zestaw arkuszy właściwości i stron właściwości, które umożliwiają użytkownikowi wyświetlanie i modyfikowanie składników deskryptora zabezpieczeń obiektu. Edytor składa się z dwóch głównych części:

  • podstawowa strona właściwości zabezpieczeń, która udostępnia prosty interfejs do edytowania wpisów kontroli dostępu (ACL) wdyskrecjonalnych list kontroli dostępu (DACL) obiektu. Ta strona może zawierać opcjonalny przycisk Zaawansowane wyświetlający zaawansowany arkusz właściwości zabezpieczeń.
  • zaawansowany arkusz właściwości zabezpieczeń ze stronami właściwości, które umożliwiają użytkownikowi edytowanie listy kontroli dostępu systemu obiektu (SACL), zmienianie właściciela obiektu lub przeprowadzanie zaawansowanej edycji listy DACL obiektu.

Funkcja CreateSecurityPage tworzy podstawową stronę właściwości zabezpieczeń. Następnie możesz użyć funkcji PropertySheet lub komunikatu PSM_ADDPAGE, aby dodać tę stronę do arkusza właściwości.

Alternatywnie możesz użyć funkcji EditSecurity, aby wyświetlić arkusz właściwości zawierający podstawową stronę właściwości zabezpieczeń.

W przypadku CreateSecurityPage i EditSecurityobiekt wywołujący musi przekazać wskaźnik do implementacji interfejsu ISecurityInformation. Edytor kontroli dostępu wywołuje metody tego interfejsu, aby pobrać informacje kontroli dostępu o edytowanym obiekcie i przekazać dane wejściowe użytkownika z powrotem do aplikacji. Metody ISecurityInformation mają następujące cele:

  • Aby zainicjować strony właściwości.

    Implementacja metody GetObjectInformation przekazuje strukturę SI_OBJECT_INFO do edytora. Ta struktura określa strony właściwości, które mają być wyświetlane przez edytor, oraz inne informacje określające opcje edycji dostępne dla użytkownika.

  • Aby zapewnić informacje o zabezpieczeniach dotyczące edytowanego obiektu.

    Implementacja GetSecurity przekazuje początkowy deskryptor zabezpieczeń obiektu do edytora. Metody GetAccessRights i MapGeneric zawierają informacje o prawach dostępu do obiektu. Metoda GetInheritTypes zawiera informacje o tym, jak obiekty ACL mogą być dziedziczone przez obiekty podrzędne.

  • Aby przekazać dane wejściowe użytkownika z powrotem do aplikacji.

    Gdy użytkownik kliknie okay lub Zastosuj, edytor wywołuje metodę SetSecurity, aby przekazać deskryptor zabezpieczeń zawierający zmiany użytkownika.