我有一个 .net Web 应用程序,它需要获取用户在 Active Directory 中所属的组。
为此,我使用了用户记录上的 memberOf 属性。
我需要知道读取所有用户记录上的此属性所需的权限。
目前,当我尝试读取此属性时,我得到的结果不一致。例如,我在同一 OU 路径中有一个由 30 名用户组成的用户组。使用我自己的凭据查询 AD - 我可以读取某些用户的 memberOf 属性,但不能读取其他用户的 memberOf 属性。我知道所有用户都设置了 memberOf 属性,因为我在使用域管理员帐户登录时已经检查过。
答案1
在您的域对象上,您需要为查询用户分配对用户对象的“读取成员”权限。
- 打开 AD U&C 浏览到您的域对象
- 右键单击并转到属性:
(来源:系统管理员1138.net) - 安全选项卡,单击高级
- 单击“添加”
- 输入要添加的用户名
- 单击属性选项卡
- 在“应用于”中将类型更改为用户
- 单击“读取 MemberOf”复选框:
(来源:系统管理员1138.net) - 好的,离开那里
这样设置后,指定的帐户就可以读取域中所有用户帐户的组成员身份。
答案2
我遇到了类似的问题,并通过向 AD 提出请求在另一个层面上解决了该问题:
(&(objectClass=group)(objectClass=top)(member=UserDN))
对于“dn”属性。
由于组默认是可读的,这将向“membersOf”属性返回相同的结果。
我知道这实际上不是对权限问题的回答,但我来这里是为了寻找一种在 AD 中不需要更改权限即可获取 memberOf 属性的方法。