在LdapTemplate调用中获取父DN

时间:2017-03-18 14:15:47

标签: ldap spring-ldap ldap-query

使用Spring LdapTemplate我能够使用顶级DN作为基础和过滤器对用户子集执行分页完整LDAP搜索。我更喜欢使用此方法来使用父DN列表,因为在获取所有必需用户之前,它不需要知道父DN。使用调试器我没有看到从服务器返回父DN。

有没有办法在从LDAP检索的记录中派生或包含父DN?

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

谢谢!

1 个答案:

答案 0 :(得分:1)

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