Java 如何检索属性“的所有不同值”;标题「;来自LDAP?
我试图通过Java从LDAP获取字段的所有不同值。但我不知道怎么做 LDAP中有一个名为“title”的属性。我想得到该字段的所有不同值Java 如何检索属性“的所有不同值”;标题「;来自LDAP?,java,ldap,Java,Ldap,我试图通过Java从LDAP获取字段的所有不同值。但我不知道怎么做 LDAP中有一个名为“title”的属性。我想得到该字段的所有不同值 如何实现这一点?没有直接支持这一点的LDAP API,比如SQL中的SELECT DISTINCT。您必须检索所有值并过滤掉重复项。要从LDAP目录服务器数据库检索属性,LDAP客户端必须连接到服务器,使用绑定请求建立身份验证状态,并将搜索请求传输到服务器,并解释响应。搜索请求至少由以下部分组成: 一个基本对象,在该对象上搜索,在该对象上不返回条目 一个范围
如何实现这一点?没有直接支持这一点的LDAP API,比如SQL中的SELECT DISTINCT。您必须检索所有值并过滤掉重复项。要从LDAP目录服务器数据库检索属性,LDAP客户端必须连接到服务器,使用绑定请求建立身份验证状态,并将搜索请求传输到服务器,并解释响应。搜索请求至少由以下部分组成:
- 一个基本对象,在该对象上搜索,在该对象上不返回条目
- 一个范围,要么是基础对象本身(基础),要么是一级从属对象 到基础对象或整个子树(从属于基础对象的所有对象
- 约束响应的筛选器
- 要从与搜索请求参数匹配的条目中检索的属性列表
title
的所有属性,请使用以下筛选器:(title=*)
具有上述适当的基本对象和作用域。LDAP目录服务器将返回所有具有title
属性的对象。如果title
是多值的,则对象可能包含多个title
。LDAP客户端负责对结果进行排序。没有选择DISTINCT
>设施。如果具有title
属性的条目数量对于客户端来说太大,客户端可以使用简单的分页结果请求控件来控制从LDAP目录服务器返回条目的速率
不要对新代码使用JNDI(java.naming.*),而是使用
另见