我需要一个 Ldap 查询来返回多个用户,因此我需要它来遍历用户 ID 列表并搜索目录。
本质上,我想做的是
(|(cn=val1)(cn=val2)(cn=val3).....)
我只会对几个值使用 OR 过滤器,但我需要获取最多 100 个值。 有没有更有效的方法来做到这一点?可能是一个“包含”或“在”过滤器,可以让我传递一个值列表来检查?
正如评论所建议的,使用通配符:
(cn=val*)
我只会对几个值使用 OR 过滤器,但我需要获取最多 100 个值。有没有更有效的方法来做到这一点?
您不需要更有效的方法来做到这一点。如果
cn
属性已建立索引,那么这是高效的。您实际上正在寻找一种不同的方式来表达过滤器,但没有一种。
有,可以使用
cn=*blah*
来查询包含。
创建一个组 cn=RequiredUsers,OU=xxx 来包含用户,然后您可以执行如下查询:
(&(objectCategory=用户)(memberOf=cn=RequiredUsers,OU=xxx))
为小组取一个好听的名字。