在 LdapTemplate 调用中获取父 DN
Getting Parent DN in LdapTemplate call
使用 Spring LdapTemplate 我能够使用顶级 DN 作为基础和过滤器对用户子集执行分页的完整 LDAP 搜索。与使用父 DN 列表相比,我更喜欢这种方法,因为它不需要在获得所有必需的用户之前了解父 DN。使用调试器,我没有看到从服务器 return 编辑父 DN。
有没有办法在从 LDAP 检索到的记录中派生或包含父 DN?
第二好的查询是 return 所有二级 DN 比顶级 DN 低一级的查询。抱歉,如果我没有使用正确的术语,我对使用 LDAP 还很陌生。有办法吗?
谢谢!
据我所知,没有用于检索给定对象的父 DN 的 JNDI 方法。我确切知道如何执行此操作的唯一方法是在 SearchResult
上使用两种方法,即 return 对象名称和完整的对象 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);
使用 Spring LdapTemplate 我能够使用顶级 DN 作为基础和过滤器对用户子集执行分页的完整 LDAP 搜索。与使用父 DN 列表相比,我更喜欢这种方法,因为它不需要在获得所有必需的用户之前了解父 DN。使用调试器,我没有看到从服务器 return 编辑父 DN。
有没有办法在从 LDAP 检索到的记录中派生或包含父 DN?
第二好的查询是 return 所有二级 DN 比顶级 DN 低一级的查询。抱歉,如果我没有使用正确的术语,我对使用 LDAP 还很陌生。有办法吗?
谢谢!
据我所知,没有用于检索给定对象的父 DN 的 JNDI 方法。我确切知道如何执行此操作的唯一方法是在 SearchResult
上使用两种方法,即 return 对象名称和完整的对象 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);