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

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

最佳答案

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

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

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

不要使用 netscape 代码,它太古老、有错误而且速度慢。使用 UnboundID LDAP SDK相反

关于java - 用于获取 dn 和所有 cn 数据的 LDAP 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12214115/

相关文章:

Python通过包含列表的字典列表循环创建新字典的最佳方法

active-directory - LDAP 组成员身份(包括域用户)

java - 是否可以使用java更改ldap中用户的基本DN?

java - 如何创建 BinaryOperator 来添加 BigInteger

java - 尽管日志中的占位符图像和 URL 都正常工作,但 Glide 不会从 URL 加载图像

java - Java Regex电话号码验证

jsp - 使用 Tomcat 6 中的 server.xml 连接时如何从 Active Directory 获取电子邮件

php_ldap 克服 ssl 困难

active-directory - 如何使用 LDAP 请求启用或禁用 AD 用户帐户?

java - PowerMockito 私有(private) void 方法问题