6

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

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

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

任何帮助表示赞赏。

4

1 回答 1

7

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

如果客户需要dept1and dept2,则将它们作为断言包含在过滤器中,例如:

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

示范

鉴于以下仅显示cn和的条目departmentNumber

$ 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

请注意,搜索响应包括两个条目和 for 的两个 departmentNumbercn=user.1,ou=people,c=us

于 2013-11-06T17:43:06.077 回答