我编写了一个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组的一部分,我仍然会得到一个结果
请帮忙
答案 0 :(得分:1)
假设'myuserid'是变量,那么您的问题可能是用户间接成为group2的成员。换句话说,myuserid是group3的成员,group3是group2的成员。 memberOf参数不会递归搜索。 Microsoft的Active Directory具有LDAP_MATCHING_RULE_IN_CHAIN
过滤器以递归搜索。我不知道一个可以递归搜索的过滤器,它适用于所有LDAP服务器。