Java - getAttributes en LDAP

 
Vista:

getAttributes en LDAP

Publicado por Antonio (33 intervenciones) el 03/09/2003 14:07:04
Hola, a alguien que haya trabajado con LDAP en java. Tengo un problema del que no salgo, establezco el entorno y trato de recuperar un atributo como cn de un usuario y no veo el error pero me saca siempre null. El usuario existe y en el browser veo que efectivamente tiene el atributo. El código escrito es:

Hashtable entorno = new Hashtable(5, 0.75f);
entorno.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
entorno.put("java.naming.ldap.typesOnly", "true");
entorno.put(Context.PROVIDER_URL,"ldap://192.168.0.135:389/CN=Users,DC=emp,DC=ldap,DC=server");
DirContext ctx = new InitialDirContext(entorno);
Attributes attr = ctx.getAttributes("CN=Administrador");//por poner uno
Attribute nombre = attr.get("cn");

Y siempre, ese último objeto nombre, es null. Ya no se que más poner. ¿Alguna idea? Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ya lo saqué

Publicado por Antonio (33 intervenciones) el 05/09/2003 11:24:20
Para el que le interese:
Ya he sacado el problema. Yo recuperaba los atributos de un objeto pero a la hora de recuperarlos me devolvía null, o si hacía una búsqueda, al recuperar todos los atributos, le hacía al NamingEnumeration un hasMoreElements y me daba false.

El problema es que el entorno inicial que establezco no lleva el usuario que pretende acceder a ese directorio o nombre, y era como si no tuviera permisos para acceder. Insertando:
entorno.put(Context.SECURITY_AUTHENTICATION, "simple");
entorno.put(Context.SECURTY_PRINCIPAL,"nombre_usuario");
entorno.put(Context.SECURITY_CREDENTIALS,"password"); // en texto plano

Y ya puedo hacer la búsqueda de los atributos.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar