Buscar Atributo com jldap (md5)

3 respostas
M

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

3 Respostas

ffranceschi

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)

Felagund

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

ffranceschi

algo parecido com isso?

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

		}
Criado 26 de fevereiro de 2009
Ultima resposta 26 de fev. de 2009
Respostas 3
Participantes 3