正在LdapTemplate调用中获取父DN

正在LdapTemplate调用中获取父DN,ldap,spring-ldap,ldap-query,Ldap,Spring Ldap,Ldap Query,使用SpringLDAPTemplate,我能够使用顶级DN作为基础和过滤器,对用户子集执行分页的完整LDAP搜索。与使用父DNs列表相比,我更喜欢这种方法,因为在获得所有所需用户之前,它不需要知道父DNs。使用调试器,我看不到从服务器返回的父DN 是否有方法在从LDAP检索的记录中派生或包含父DN 第二个最好的查询将返回所有第二级DN,比顶级DN低一级。很抱歉,如果我没有使用正确的术语,我对使用LDAP还很陌生。有办法做到这一点吗 谢谢 AFAIK没有JNDI方法来检索给定对象的父DN。我知道

使用SpringLDAPTemplate,我能够使用顶级DN作为基础和过滤器,对用户子集执行分页的完整LDAP搜索。与使用父DNs列表相比,我更喜欢这种方法,因为在获得所有所需用户之前,它不需要知道父DNs。使用调试器,我看不到从服务器返回的父DN

是否有方法在从LDAP检索的记录中派生或包含父DN

第二个最好的查询将返回所有第二级DN,比顶级DN低一级。很抱歉,如果我没有使用正确的术语,我对使用LDAP还很陌生。有办法做到这一点吗


谢谢

AFAIK没有JNDI方法来检索给定对象的父DN。我知道如何做到这一点的唯一方法是在
SearchResult
上使用两个方法,返回对象名和完整的对象DN。 大概是这样的:

// Your own method to retrieve the next LDAP object
SearchResult res = getNextSearchResult(); 
String objectName = res.getName();
// Typical markup: CN=<objectName>,<parentDN>
String fullDn = res.getNameInNamespace(); 
String parentDn = fullDn.substring(fullDn.indexOf(objectName)+objectName.length()+1);
//您自己检索下一个LDAP对象的方法
SearchResult res=getNextSearchResult();
String objectName=res.getName();
//典型标记:CN=,
字符串fullDn=res.getNameInNamespace();
字符串parentDn=fullDn.substring(fullDn.indexOf(objectName)+objectName.length()+1);