Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pomocí rozhraní ADSI můžete vytvořit popisovač zabezpečení a nastavit ho jako vlastnost nTSecurityDescriptor nového objektu , nebo jej použít k nahrazení vlastnosti nTSecurityDescriptor existujícího objektu .
Vytvoření popisovače zabezpečení pro objekt:
- Pomocí CoCreateInstance vytvořte objekt ADSI COM pro nový popisovač zabezpečení a získejte ukazatel rozhraní IADsSecurityDescriptor na tento objekt. Mějte na paměti, že ID třídy je CLSID_SecurityDescriptor.
- K nastavení vlastníka objektu použijte metodu IADsSecurityDescriptor::put_Owner. Správce je uživatel, skupina nebo jiný objekt zabezpečení. Aplikace by měla použít hodnotu z příslušné vlastnosti od uživatele nebo objektu skupiny správce, na který má ACE použít.
- Pomocí metody IADsSecurityDescriptor::put_Control můžete určit, zda jsou seznamy řízení přístupu DACL a SACL děděny objektem z nadřazeného kontejneru.
- Pomocí CoCreateInstance vytvořte ADSI COM objekt pro DACL nového popisovače zabezpečení a získejte ukazatel na rozhraní IADsAccessControlList tohoto objektu. Mějte na paměti, že ID třídy je CLSID_AccessControlList.
- Pro každý ACE, který chcete přidat do DACL, použijte CoCreateInstance k vytvoření ADSI COM objektu pro nový ACE a získejte ukazatel na rozhraní IADsAccessControlEntry k tomuto objektu. Mějte na paměti, že ID třídy je CLSID_AccessControlEntry.
- Pro každou ACE, kterou chcete přidat do DACL, nastavte její vlastnosti pomocí metod objektu IADsAccessControlEntry. Další informace o vlastnostech, které chcete nastavit v ACE, naleznete v tématu Nastavení přístupových práv u objektu.
- Pro každou ACE, kterou přidat do DACL, použijte metodu QueryInterface na objektu IADsAccessControlEntry k získání ukazatele IDispatch. Metoda IADsAccessControlList::AddAce vyžaduje ukazatel na rozhraní IDispatch pro ACE.
- Pro přidání každé ACE do seznamu DACL použijte IADsAccessControlList::AddAce k přidání nové ACE do seznamu DACL. Mějte na paměti, že pořadí řízení přístupu v rámci seznamu ACL může ovlivnit vyhodnocení přístupu k objektu. Správný přístup k objektu může vyžadovat vytvoření nového seznamu ACL, přidání ACL z existujícího seznamu ACL ve správném pořadí do nového seznamu ACL a následné nahrazení existujícího seznamu ACL v popisovači zabezpečení novým seznamem ACL. Další informace naleznete v tématu Pořadí řízení přístupu v jazyce DACL.
- Postupujte podle kroků 4 až 8 a vytvořte SACL pro nový popisovač zabezpečení.
- K nastavení DACL použijte metodu IADsSecurityDescriptor::put_DiscretionaryAcl. Další informace o DACL najdete v tématu Null DACL a prázdné DACL.
- K nastavení SACL použijte metodu IADsSecurityDescriptor::put_SystemAcl.
- Převeďte objekt IADsSecurityDescriptor na VARIANT pomocí metody QueryInterfaceobjektu IADsSecurityDescriptor a získejte rozhraní IDispatch. Potom nastavte člen vt objektu VARIANT na VT_DISPATCH a nastavte člen pdispVal objektu VARIANT rovný ukazateli IDispatch.
- Získejte ukazatel rozhraní IADs na objekt.
- Pomocí metody IADs::Put s "nTSecurityDescriptor" a VARIANT vytvořeným výše zapište nový popisovač zabezpečení do paměťové mezipaměti vlastností.
- Pomocí metody ID::SetInfo aktualizujte vlastnost objektu v adresáři.