1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
for (int i=0; i<OU_to_search.length; i++) {
if (logger.isDebugEnabled()) logger.debug("searching users in "+ou_dn[i]+","+base_DN);
NamingEnumeration<SearchResult> srchResponse = ldapContext.search(ou_dn[i]+","+base_DN, searchFilter, srchControls);
int count=0;
while (srchResponse.hasMoreElements()) {
SearchResult result = srchResponse.next();
Attributes att = ldapContext.getAttributes(result.getName()+ ","+ou_dn[i]+","+base_DN);
// Initialize a person
AnnuaireData p = new AnnuaireData();
p.setFirstname(getAttributeValue(att,"givenName")); p.setLastname(getAttributeValue(att,"sn")); p.setCn(getAttributeValue(att,"cn")); p.setDisplayName(getAttributeValue(att,"displayName"));
Attribute a = att.get("memberOf");
if (null != a && a.size() > 0) {
List<String> groupes = new ArrayList<String>();
// System.out.println(p.getFirstname()+" "+p.getLastname()+", size()"+a.size());
for (int j=0; j<a.size(); j++) {
groupes.add(a.get(j).toString());
// System.out.println("groupe "+j+" : "+a.get(j));
}
p.setMemberOf(groupes);
}
persons.add(p);
count++;
}
if (logger.isDebugEnabled()) logger.debug(count+" user(s) found !");
} |
Partager