问题描述
||
我有一个看起来像这样的方案:
用户存在,如UserA,UserB,UserC。
存在分组,例如OverGroup,SubGroup。
OverGroup会自动将新用户(如UserA,UserB等)添加到其成员资格。
我创建了子组。我已将OverGroup设置为SubGroup的成员。
我希望能够单行查询SubGroup而不检索OverGroup,即:
Values:
CN=OverGroup,OU=Groups,DC=example,DC=com
但是在OverGroup内的实际用户(用户A,B,C)的完整枚举,即:
Values:
CN=UserA,OU=OtherOU,DC=com
CN=UserB,DC=com
CN=UserC,DC=com
是否存在可以检索此信息的单行LDAP过滤器? (它将被放入Request Tracker实例的ExternalAuth配置\'ldap \'部分中。可以肯定,我只能使用ExternalAuth模块可以理解的一个查询来执行此操作。)
我尝试的所有方法都无法正常工作,从我的阅读看来,似乎无法枚举组中的用户列表,该组是使用任何单行查询的另一个组的成员。有什么想法吗?
解决方法
Active Directory有一个特殊的搜索过滤器选项,它可以过滤链接对象(例如嵌套组)。此处描述了该功能。
这是有关如何检索组中所有用户(包括嵌套组)的示例:
(&(objectClass=user)(memberof:1.2.840.113556.1.4.1941:={0}))
其中{0}
是父组的DN。
,(&(objectClass=user)(memberof:1.2.840.113556.1.4.1941:=CN=MPV_BedPlacement,OU=Security Groups,OU=Groups,OU=CCHCS,DC=CCHCS,DC=LDAP))
您必须为该组添加完整的DN,并且没有大括号。