1

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

IE

(&(&(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 组的一部分

请帮忙

4

1 回答 1

1

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

于 2012-12-14T19:50:09.393 回答