Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Deskryptor zabezpieczeń obiektu może zawierać dyskrecjonalną listę kontroli dostępu (DACL). DACL zawiera zero lub więcej wpisów kontroli dostępu (ACE), które identyfikują użytkowników i grupy, które mogą uzyskać dostęp do obiektu. Jeśli lista DACL jest pusta (czyli zawiera zero ACE), żaden dostęp nie jest jawnie udzielany, więc dostęp jest domyślnie odrzucany. Jeśli jednak deskryptor zabezpieczeń obiektu nie ma listy DACL, obiekt jest niechroniony i wszyscy mają pełny dostęp.
Aby pobrać listę DACL obiektu, musisz być właścicielem obiektu lub mieć READ_CONTROL dostęp do obiektu.
Aby uzyskać i ustawić listę DACL obiektu katalogu, użyj interfejsu IADsSecurityDescriptor. Używając języka C++, metoda IADsSecurityDescriptor::get_DiscretionaryAcl zwraca wskaźnik IDispatch. Wywołaj QueryInterface tego wskaźnika IDispatch, aby uzyskać interfejsU IADsAccessControlList i użyj metod w tym interfejsie, aby uzyskać dostęp do poszczególnych ACL. Procedura modyfikowania listy DACL jest opisana w Ustawianie praw dostępu do obiektu.
Aby wyliczyć elementy ACE, użyj metody IADsAccessControlList::get__NewEnum. Metoda zwraca wskaźnik IUnknown. Wywołaj QueryInterface na tej wskaźniku IUnknown, aby uzyskać interfejs IEnumVARIANT. Użyj metody IEnumVARIANT::Next, aby wyliczyć wpisy ACE w ACL. Każda ACE jest zwracana jako VARIANT zawierająca wskaźnik IDispatch (członek vt jest VT_DISPATCH). Wywołaj QueryInterface dla tego wskaźnika IDispatch, aby uzyskać interfejs IADsAccessControlEntry dla wpisu kontroli dostępu (ACE). Można użyć metod interfejsu IADsAccessControlEntry , aby ustawić lub pobrać składniki ACE.
Aby uzyskać więcej informacji na temat List Kontroli Dostępu (DACLs) i Obiektów Kontroli Dostępu (ACEs), zobacz następujące tematy w zestawie Platform Software Development Kit (SDK).