java - InitialDirContext.search() 结果错误

标签 java ldap enumeration

我现在已经尝试使用两个不同的库来完成这项工作两天,但它只是不想做我想做的事情。那么问题来了:

我正在尝试使用 java 加载 ldap 条目,我正在使用“org.ietf.ldap”库。 没有问题,我可以从 ldap 中获取单个条目,工作完美,但通过特殊查询,我只从 ldap 中获取一个条目,但应该有 15 个条目。

这是我的代码:


public void getEntries (String searchDN, int scope, InitialDirContext conn, String attributeName, String attributeValue) {
        List ansp = new ArrayList();
        final String QUERY = "cpMemDN=cn=usuid,ou=EMP,ou=COMPANY,o=META";
                    searchDN = "ou=SUPPORT, ou=ROLES, ou=SERVICES, ou=COMPANY, o=META";
        SearchControls ctrl = new SearchControls();
        ctrl.setSearchScope(SearchControls.SUBTREE_SCOPE);
        NamingEnumeration enumeration = null;<p></p>

<pre><code>    try {
        enumeration = context.search(searchDN, QUERY, ctrl);
    } catch (NamingException e) {
        e.printStackTrace();
    }
    Set<String> cns = new HashSet<String>();
    try {
              while (enumeration.hasMore()) {
            SearchResult result = (SearchResult) enumeration.next();

        }
    } catch (NamingException e) {
        e.printStackTrace();
    }

}
</code></pre>

<p></p>
所以我怎么说,枚举仅包含 1 个条目,而不是 15 个条目(使用 LDAPBrowser 检查)。我还尝试使用另一个查询 (cn=*) 获取多个条目,它成功了,我得到了多个条目,但查询不可能是问题,因为它适用于 LDAPBrowser。

有什么想法吗?

最佳答案

好吧,现在使用相同的代码就可以工作了,只是尝试了 50 次哈哈。奇怪的事情,但解决了。

关于java - InitialDirContext.search() 结果错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11258833/

相关文章:

ruby-on-rails - Rails 应用程序作为 LDAP 或 CardDAV 服务器?

c# - 有序枚举

c# - Java 枚举类型的 C# 等效项是什么?引用下面的代码

java - 使用不带 -javaagent 参数的 ByteBuddy Java 代理

Java - 播放/暂停 VLC

java - 从集合中检索项目

c++ - 等价于 C++ 中来自 Java 的枚举的 .values()

java - 在 Java 中使用 double 值时如何获得高精度答案?

authentication - LDAP:错误代码 49 - 80090308:LdapErr:DSID-0C0903A9,注释:AcceptSecurityContext 错误,数据 52e,v1db1

java - 使用java进行LDAP AD分页