1

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

我正在尝试使用 java 加载 ldap 条目,我正在使用“org.ietf.ldap”-Library。没有问题,我可以从 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;

    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();
    }

}

所以我怎么说,枚举只包含一个条目而不是 15 个条目(使用 LDAPBrowser 检查)。我还尝试使用另一个查询(cn = *)获取多个条目并且它有效,我得到了多个条目但查询不可能是问题,因为它适用于 LDAPBrowser。

有任何想法吗?

4

1 回答 1

0

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

于 2012-07-10T09:06:14.853 回答