将权限设置为特定类型的对象的特定属性

属性特定的权限可以与对象特定的继承结合使用,以提供强大的和详细的管理委派。 可以设置特定于属性的对象可继承的 ACE,以允许指定的用户或组读取和/或写入容器中指定子对象的类的特定属性。 例如,可以在组织单位 (OU) 上设置 ACE,使组能够读取和写入 OU 中所有用户对象的电话号码属性。

设置特定于属性的对象可继承的 ACE

  1. IADsAccessControlEntry.AceType 设置为 ADS_ACETYPE_ACCESS_ALLOWED_OBJECTADS_ACETYPE_ACCESS_DENIED_OBJECT
  2. IADsAccessControlEntry.ObjectType 设置为属性的 schemaIDGUID 。 例如,电话编号属性的 schemaIDGUID 为 {bf967a49-0de6-11d0-a285-00aa003049e2}。
  3. IADsAccessControlEntry.AceFlags 设置为 ADS_ACEFLAG_INHERIT_ACE
  4. IADsAccessControlEntry.InheritedObjectType 设置为可继承 ACE 的对象类的 schemaIDGUID 。 例如,用户类的 schemaIDGUID 为 {bf967aba-0de6-11d0-a285-00aa003049e2}。
  5. IADsAccessControlEntry.Flags 设置为 ADS_FLAG_OBJECT_TYPE_PRESENTADS_FLAG_INHERITED_OBJECT_TYPE_PRESENT

重要

将ADS_ACEFLAG_INHERIT_ACE设置为导致 ACE 继承。 此外,如果此 ACE 应用于的对象类型与指定 ACE 的容器的对象类型不匹配,则设置ADS_ACEFLAG_INHERIT_ONLY_ACE。 如果未这样做,ACE 也会在容器上生效,并可以授予意外的权限。

 

有关可用于设置此类 ACE 的详细信息和代码示例,请参阅 目录对象上设置 ACE 的示例代码