Ver Mensaje Individual
  #9 (permalink)  
Antiguo 22/08/2008, 03:41
stack
 
Fecha de Ingreso: diciembre-2006
Mensajes: 14
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Como Me conecto a LDAP con java?

Este ejemplo funciona correctamente, lo malo es que no imprime la contraseña como debe ser? alguien me puede ayudar? quisiera saber como puedo obtener la contraseña y de paso como modificarla

public RecordatorioBean getObtenerUsuario(String domain, String user, String pass,String inictx, String login, String security, String base){

Hashtable env = new Hashtable();

RecordatorioBean recordatorio = null;



if (pass.compareTo("") == 0 || user.compareTo("") == 0)

return null;



env.put(Context.INITIAL_CONTEXT_FACTORY, inictx);

env.put(Context.PROVIDER_URL, domain);

env.put(Context.SECURITY_AUTHENTICATION, security);

env.put(Context.SECURITY_PRINCIPAL, new String(user));

env.put(Context.SECURITY_CREDENTIALS, new String(pass));



try {



DirContext ctx = new InitialDirContext(env);

String filter = "(&(uid="+login+")(objectclass=Person))";

SearchControls constraints = new SearchControls();

constraints.setSearchScope(SearchControls.SUBTREE_ SCOPE);

NamingEnumeration results = ctx.search(base,filter,constraints);



SearchResult sr=null;



Attributes att=null;

if (results.hasMore()){

sr=(SearchResult) results.next();

att = (Attributes) sr.getAttributes();



NamingEnumeration ne = null;

recordatorio = new RecordatorioBean();



recordatorio.setPregunta ((String)this.atributo("PIFPregunta", att, ne));

recordatorio.setRespuesta ((String)this.atributo("PIFRespuesta", att, ne));

recordatorio.setEmail ((String)this.atributo("mail", att, ne));

recordatorio.setContrasena(this.atributo("userPass word", att, ne).toString());



System.out.println("String givenname: " + this.atributo("givenname", att, ne));

System.out.println("String uid: " + this.atributo("uid", att, ne));

System.out.println("String ibm-primaryEmail: " + this.atributo("mail", att, ne));

System.out.println("String PIFPregunta: " + this.atributo("PIFPregunta", att, ne));

System.out.println("String PIFRespuesta: " + this.atributo("PIFRespuesta", att, ne));

System.out.println("String userPassword: " + this.atributo("userPassword", att, ne));

ctx.close();

}



} catch (NamingException e) {

e.printStackTrace();

return null;

}catch (Exception ex){

System.out.println("Error en la búsqueda: " + ex.getMessage());

}



return recordatorio;

}





public Object atributo(String campo, Attributes att, NamingEnumeration ne)throws NamingException {



if (att.get(campo) != null) {

ne = att.get(campo).getAll();

while (ne.hasMore()) {

return ne.next().;

}

}

return "";

}