我正在使用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查询来获取这些数据….任何输入都将受到高度赞赏.
最佳答案 为每个组织单位创建搜索请求,其中:
>基础对象是组织单位
>范围是子树
>过滤器是objectClass = commonObjectClass,其中commonObjectCLass是要检索的条目通用的objectClass,或者cn = *
>要为每个条目检索的属性列表
将每个搜索请求依次发送到LDAP目录服务器并解释响应.
不要使用netscape代码,它古老,有缺陷,而且速度慢.请改用UnboundID LDAP SDK