4

在此处输入图像描述

我正在使用 netscape ldapsdk-4.1.jar,我能够与我的 ldap 服务器连接并进行身份验证:

try{
            ldi.connect(hostname,LDAPv3.DEFAULT_PORT);
            LDAPConnectionInfo.ldapSearchResults = ldi.search(LDAPConnectionInfo.MY_SEARCHBASE,LDAPConnectionInfo.MY_SCOPE,LDAPConnectionInfo.MY_FILTER,null,false);
            System.out.println("Ldap Search Result : " +LDAPConnectionInfo.ldapSearchResults);
            
            ldi.authenticate(3, "host", "****");
}
.....
        

现在我想从以下位置获取数据:

  • 在域组件(dn,here=example.com)下有多少个组织单位(ou)。
  • 为每个组织单元(ou)获取所有通用名(cn)及其在通用名(cn)下的叶子对象。

我想我必须使用一些 ldap 查询来获取这些数据......任何输入都将受到高度赞赏。

4

1 回答 1

2

为每个组织单位创建一个搜索请求,其中:

  • 基础对象是组织单位
  • 范围是subtree
  • 过滤器是要检索的条目共有的对象类在objectClass=commonObjectClass哪里,或者commonObjectCLasscn=*
  • 要为每个条目检索的属性列表

将每个搜索请求依次传输到 LDAP 目录服务器并解释响应。

不要使用 netscape 代码,它是古老的、有缺陷的和缓慢的。改用UnboundID LDAP SDK

于 2012-09-01T07:57:23.197 回答