1

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

LDAP 中有一个名为“title”的属性。我想获得该字段的所有不同值。

我怎样才能做到这一点?

4

2 回答 2

2

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

于 2012-08-22T10:15:03.973 回答
0

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

  • 一个基础对象,上面的搜索不返回条目
  • 一个作用域,可以是基础对象本身(基础),从属于基础对象的一级,或者整个子树(从属于基础对象的所有对象
  • 限制响应的过滤器
  • 要从匹配搜索请求参数的条目中检索的属性列表。

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

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

也可以看看

于 2012-08-22T14:50:49.667 回答