Alguem sabe como buscar e retornar o valor de um atributo no servidor ldap.
por exemplo:
Buscar o email, setor e cargo de um determinado usuário.
No caso eu ja consigo pegar a dn pra fazer abusca, não to conseguindo pegar os valores…
:roll:
alguem tem alguma idéia??
abraço
Basicamente é assim… eu pretendo ainda escrever sobre LDAP no meu blog, estou acabando uns posts que tenho pendente sobre integração continua ainda…
LdapContext ctxUsers = (LdapContext)ldapContext.lookup("ou=Users,cn=admin");
NamingEnumeration answer = ctxUsers.list("");
while (answer.hasMore()) {
NameClassPair item = (NameClassPair)answer.next();
System.out.println(item.getName());
String[] atts = {"telephoneNumber", "cn", "userPassword"};
Attributes att = ctxUsers.getAttributes(item.getName(), atts);
System.out.println(att.get("cn"));
}
Abraços
Edit: Corrigindo bug na hora de postar (sumiu uns caracteres)
o JLDAP é um pouco diferente, tem um exemplo de busca que vc pode utilizar, que é o LDAPSearch, não tenho aqui os informaçoes, usei esse esquema no meu TCC, a noite vou postar como se faz.
[]'s
algo parecido com isso?
[code] SearchControls sc = new SearchControls();
sc.setSearchScope(SearchControls.SUBTREE_SCOPE);
String[] atributosParaRetornar = {"cn", "telephoneNumber"};
sc.setReturningAttributes(atributosParaRetornar);
String filtro = "(&(objectClass={0})(telephoneNumber=*{1}*))";
Object[] params = {"groupOfNames","23"};
NamingEnumeration cursor = ctx.search("ou=Usuario",filtro,params,sc);
while (cursor.hasMoreElements()) {
SearchResult result = (SearchResult)cursor.nextElement();
Attributes att = result.getAttributes();
String valorCN = (String) att.get("cn").get();
System.out.println(valorCN);
}[/code]