读书人

Ldap如何样获得下级节点dn

发布时间: 2012-12-14 10:33:08 作者: rapoo

Ldap怎么样获得上级节点dn
本帖最后由 java_news 于 2010-09-03 10:16:29 编辑 o=org
-----cn=person

------ou=unit
--cn=person2
--ou=unit2



有这样一个树形结构的数据,person和Unit都是o下的也就是二级,person2和Unit2都是Unit下的也就是三级。

person和person2的ObjectClass都是inetOrgPerson

我现在用Java写了个方法,查询条件就是ObjectClass=inetOrgPeron

这样就把person和person2都查询出来了,但是我想知道person是属于哪个节点下的,person2又是属于哪个节点下的。
也就是要拿到他两的dn了。

请问怎么样拿到他们的dn呢?查询条件是ObjectClass=inetOrgPeron

麻烦帮忙解决下,谢谢!
[解决办法]
纯java:

LDAPSearchResults searchResults = conn.search(strDn,LDAPConnection.SCOPE_ONE, searchFilter, null, false, cons);
LDAPEntry nextEntry = searchResults.next();
String strTempDn = nextEntry.getDN();

springLdap的获取方式:

public List<xxxx> getEgpDepByEgpId(String baseEgpID, String fiStr,
SearchControls controls) {
String baseEgp = baseEgpID + "," + BASE_DN;
List<xxxx> eList = ldapTemplate.search(baseEgp, fiStr, controls,
new ContextMapper() {
public Object mapFromContext(Object ctx) {
DirContextAdapter context = (DirContextAdapter)ctx;
String DN = context.getDn();
return null;
}
});
return eList;
}

读书人网 >J2SE开发

热点推荐