【问题标题】:Getting Parent DN in LdapTemplate call在 LdapTemplate 调用中获取父 DN
【发布时间】:2017-03-18 14:15:47
【问题描述】:
使用 Spring LdapTemplate,我能够使用顶级 DN 作为基础和过滤器对用户子集执行分页的完整 LDAP 搜索。与使用父 DN 列表相比,我更喜欢这种方法,因为它不需要在获取所有必需用户之前知道父 DN。使用调试器时,我看不到从服务器返回的父 DN。
有没有办法在从 LDAP 检索到的记录中派生或包含父 DN?
第二好的查询是返回所有第二级 DN 比顶级 DN 低一级的查询。抱歉,如果我没有使用正确的术语,我对使用 LDAP 还是很陌生。有没有办法做到这一点?
谢谢!
【问题讨论】:
标签:
ldap
spring-ldap
ldap-query
【解决方案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);