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