2012-12-13 88 views
1

我已经编写了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

假设“myuserid”是一个可变的结果,那么你的问题可能是用户是间接地group2的成员。换句话说,myuserid是group3的成员,它是group2的成员。 memberOf参数不会递归搜索。微软的Active Directory有LDAP_MATCHING_RULE_IN_CHAIN筛选器递归搜索。我不知道一个可递归搜索的过滤器,可以与所有LDAP服务器一起使用。