如何从LDAP中检索属性“title”的所有不同值?

时间:2012-08-21 16:36:24

标签: java ldap

我试图通过Java从LDAP中获取字段的所有不同值。但我不知道该怎么做。

LDAP中有一个名为“title”的属性。我想获得该领域的所有独特价值。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

没有直接支持的API API,例如SQL中的SELECT DISTINCT。您必须检索所有值并过滤掉重复项。

答案 1 :(得分:0)

要从LDAP目录服务器数据库检索属性,LDAP客户端必须连接到服务器,使用BIND请求建立身份验证状态,并将搜索请求传输到服务器,并解释响应。搜索请求至少包含:

  • 一个基础对象,其中搜索不返回条目
  • 范围,基础对象本身(基础),单级从属 到基础对象或整个子树(从属于基础对象的所有对象
  • 约束响应的过滤器
  • 要从匹配搜索请求参数的条目中检索的属性列表。

要检索别名为title的所有属性,请使用以下过滤器:(title=*),其中包含上述适当的基础对象和范围。 LDAP目录服务器将返回具有title属性的所有对象。如果title是多值的,则对象可能包含多个title。 LDAP客户端负责排序结果。没有SELECT DISTINCT设施。如果具有title属性的条目数对于客户端来说太大,则客户端可以使用简单分页结果请求控制来控制从LDAP目录服务器返回条目的速率。

不要将JNDI(java.naming。*)用于新代码。请改用UnboundID LDAP SDK

另见