【问题标题】:LDAP Query for fetching dn and all cn data用于获取 dn 和所有 cn 数据的 LDAP 查询
【发布时间】:2012-08-31 11:09:30
【问题描述】:

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

【问题讨论】:

  • 也许你可以分享一些代码?
  • 坦率地说,我能够与服务器和那部分进行连接和身份验证(就代码而言非常简单)......但我正在尝试访问每个 cn 下的所有数据,对我来说,这部分很有挑战性......你能分享任何想法吗?
  • 我不熟悉 ldapsdk,但您必须创建正确的 LDAP 查询才能获取数据。此处提供了一些示例:technet.microsoft.com/de-de/library/aa996205(v=exchg.65).aspx
  • @home 谢谢,虽然我已经浏览了这个链接 ;)

标签: java ldap ldap-query


【解决方案1】:

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

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

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

不要使用 netscape 代码,它是古老的、错误的和缓慢的。请改用UnboundID LDAP SDK

【讨论】:

  • 感谢您的回复,可以给我一些链接,以便公平理解访问cn
  • 查看“关于”部分中的链接here
  • 开发机器上是否有本地LDAP服务器(使用:Windows 7 Pro)用于我们的应用程序(测试目的)?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多