ldap过滤器以搜索属性的多个值

时间:2013-11-06 17:05:37

标签: ldap

在AD中,我有多值属性“departmentNumber”,它可以存储多个值,如“dept1”和“dept2”。

我正在寻找ldap过滤器,它应该检索拥有超过1个departmentnumber的用户。

我查看了其他帖子,但这似乎不起作用。

感谢任何帮助。

1 个答案:

答案 0 :(得分:7)

服务器将返回与搜索参数匹配的每个条目的多值属性的每个值(假设连接的授权状态允许)。搜索响应将是与搜索参数匹配的对象列表,并且每个对象都是在搜索请求的请求属性参数中指定的属性列表(名称和值对)。多值属性的所有值都将包含在搜索结果中。

如果客户端需要dept1dept2,则将其作为断言包含在过滤器中,例如:

(&(departmentNumber=dept1)(departmentNumber=dept2)(objectClass=whatever..))

示范

鉴于以下条目仅显示cndepartmentNumber

$ ldapsearch --baseDN 'ou=people,c=us' --searchScope one '(&)' cn departmentNumber

dn: cn=user.1,ou=People,C=us
cn: user.1
departmentNumber: dept1
departmentNumber: dept2

dn: cn=user.2,ou=People,C=us
cn: user.2
departmentNumber: dept2

请注意,搜索响应包括两个条目以及两个值 departmentNumber cn=user.1,ou=people,c=us