如何使用多个参数搜索LDAP?

时间:2012-08-16 07:55:50

标签: java ldap

我正在开发搜索应用程序。使用LDAP作为数据源。

我有6个不同的字段可供搜索。

目前我只能通过一个字段进行搜索。

当我通过“loc”字段搜索时,我调用该方法。

如何一次使用所有6个字段搜索LDAP?没有重复任何代码.. ??

3 个答案:

答案 0 :(得分:2)

您可以提供搜索谓词:

(&(objectclass=person)(cn=brian))

搜索brian的人objectclass cn

This link有更多搜索帮助(请参阅标记为过滤器的部分)

答案 1 :(得分:0)

您必须构建LDAP Filter字符串

对于位置和姓氏的搜索,您的过滤字符串应如下所示:

  

(及(位置= yourlocation)(姓= yourlastname))

答案 2 :(得分:0)

使用UnboundID LDAP SDK。不要将JNDI用于新代码。

搜索至少包含以下参数:

  • 搜索开始的基础对象
  • 指示搜索深度的范围:base仅对象,one级别低于基础对象,subtree是所有对象,从属于并包括基础对象
  • 用于缩小与其他参数匹配的候选项的过滤器。过滤器由一系列属性值断言构成,其形式为attributeDescription=attributeValue
  • 要从与上述参数匹配的条目中检索的属性列表。

还有其他参数,例如时间限制,大小限制,解除引用等等。有关LDAP操作(如搜索)的完整讨论,请参阅以下链接。

另见