用于检查属性和组成员身份的LDAP查询

时间:2012-12-13 12:54:48

标签: ldap

我编写了一个LDAP查询来检查任何用户的属性和组成员身份。但它始终给出结果

(&(&(objectClass=person)(uid=myuserid)(c=US)(|(department=IT)(department=HR)))(!(|(memberof=cn=group1,ou=Groups,dn=pwcglobal,dn=com)(memberof=cn=group2,ou=Groups,dn=pwcglobal,dn=com))))

在此查询中,我需要检查此用户是否属于某个国家/地区,属于任何一个部门,并且不是任何给定组的成员。

但即使用户是第2组的一部分,我仍然会得到一个结果

请帮忙

1 个答案:

答案 0 :(得分:1)

假设'myuserid'是变量,那么您的问题可能是用户间接成为group2的成员。换句话说,myuserid是group3的成员,group3是group2的成员。 memberOf参数不会递归搜索。 Microsoft的Active Directory具有LDAP_MATCHING_RULE_IN_CHAIN过滤器以递归搜索。我不知道一个可以递归搜索的过滤器,它适用于所有LDAP服务器。