使用Spring LdapTemplate我能够使用顶级DN作为基础和过滤器对用户子集执行分页完整LDAP搜索。我更喜欢使用此方法来使用父DN列表,因为在获取所有必需用户之前,它不需要知道父DN。使用调试器我没有看到从服务器返回父DN。
有没有办法在从LDAP检索的记录中派生或包含父DN?
第二个最好的查询是将所有第二级DN返回到顶级DN以下一级。很抱歉,如果我没有使用正确的术语,我对使用LDAP很陌生。有没有办法做到这一点?
谢谢!
答案 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);