我现在尝试用两个不同的库来完成这项工作两天,但它只是不想做我想要的。所以这就是问题所在:
我正在尝试用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。
有什么想法吗?
答案 0 :(得分:0)
Okey现在使用相同的代码,只试了50次哈哈。奇怪的是,但已经解决了。