Active Directory Domain Services 中的每個物件都有 nTSecurityDescriptor 屬性,其中包含物件安全性描述元。 有兩種主要方式可以讀取及操作目錄物件的安全性描述元:
- 使用 IADs::Get 方法來擷取安全性描述元作為具有 IADsSecurityDescriptor 介面的 ADSI COM 物件。 IADsSecurityDescriptor、IADsAccessControlList和 IADsAccessControlEntry 介面可用來處理安全性描述元及其元件 (ACL、ACE 等等)。 如需詳細資訊和程式碼範例,請參閱 使用 IAD 取得安全性描述元。
- 使用 IDirectoryObject::GetObjectAttributes 方法來擷取物件安全性描述元作為 SECURITY_DESCRIPTOR 結構的指標。 搭配 Win32 訪問控制函式使用此指標,例如 AccessCheck 或 BuildSecurityDescriptor。 如需詳細資訊和程式代碼範例,請參閱 使用 IDirectoryObject 取得安全性描述元。
本指南中大部分程式代碼範例所使用的建議技巧,就是使用 IADs* 介面,因為它們可簡化處理安全性描述元、ACL 和 ACE。 對於 Visual Basic 程式設計人員來說,IADs* 介面是處理安全性描述元的最有效率的方式。
需要 SECURITY_DESCRIPTOR 結構時,IDirectoryObject 技術很有用。 例如,檢查物件 ACL 中控件訪問許可權的程式代碼範例會使用此方法擷取安全性描述元,以傳遞至 AccessCheckByTypeResultList 函式。
如需詳細資訊,請參閱:
- 使用 IAD 取得安全描述符
- 使用 IDirectoryObject 取得安全性描述元
- 安全性描述元元件
- 擷取物件的 DACL
- 擷取物件的 SACL
- 讀取物件的安全性描述元
- 建立安全性描述元的範例程式代碼
- 列舉 Active Directory Domain Services 中物件的 ACL 範例程式代碼