用于使用安全描述符的 API
Active Directory 域服务中的每个对象都有一个包含对象安全描述符的 nTSecurityDescriptor 属性。 可通过两种主要方法读取和操作目录对象安全描述符:
- 使用 IADs::Get 方法检索安全描述符作为具有 IADsSecurityDescriptor 接口的 ADSI COM 对象。 IADsSecurityDescriptor、IADsAccessControlList 和 IADsAccessControlEntry 接口可用于处理安全描述符及其组件(ACL、ACE 等)。 有关详细信息和代码示例,请参阅 使用 IAD 获取安全描述符。
- 使用 IDirectoryObject::GetObjectAttributes 方法检索对象安全描述符作为指向标准版CURITY_DESCRIPTOR结构的指针。 将此指针与 Win32 访问控制函数(如 AccessCheck 或 BuildSecurityDescriptor)配合使用。 有关详细信息和代码示例,请参阅 使用 IDirectoryObject 获取安全描述符。
建议的技术以及本指南中大多数代码示例使用的方法是使用 IADs* 接口,因为它们简化了处理安全描述符、ACL 和 ACE。 对于 Visual Basic 程序员, IADs* 接口是处理安全描述符的最有效方法。
当需要标准版CURITY_DESCRIPTOR结构时,IDirectoryObject 技术非常有用。 例如,在对象的 ACL 中检查控件访问权限中的代码示例使用此方法检索要传递给 AccessCheckByTypeResultList 函数的安全描述符。
有关详细信息,请参阅:
- 使用 IAD 获取安全描述符
- 使用 IDirectoryObject 获取安全描述符
- 安全描述符组件
- 检索对象的 DACL
- 检索对象的 SACL
- 读取对象的安全描述符
- 用于创建安全描述符的示例代码
- 用于枚举Active Directory 域服务中对象的 ACL 的示例代码