用于获取dn和所有cn数据的LDAP查询

时间:2012-08-31 11:09:30

标签: java ldap ldap-query

enter image description here

我正在使用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查询来获取这些数据....任何输入都将受到高度赞赏。

1 个答案:

答案 0 :(得分:2)

为每个单位部门创建搜索请求,其中包括:

  • 基础对象是组织单位
  • 范围为subtree
  • 过滤器为objectClass=commonObjectClass,其中commonObjectCLass是要检索的条目通用的objectClass,或cn=*
  • 要为每个条目检索的属性列表

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

不要使用netscape代码,它古老,有缺陷,而且速度慢。请改用UnboundID LDAP SDK