Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/08/2008, 03:52
stack
 
Fecha de Ingreso: diciembre-2006
Mensajes: 14
Antigüedad: 17 años, 4 meses
Puntos: 0
Sonrisa JAVA y LDAP Como? conectar, consultar, modificar

Buenos muchachos iniciemos un tema especial para LDAP, donde podamos ver como conectarnos desde java y realizar las cuatro operacione, modificar, consultar, eliminar, insertar. agrego mi codigo de como conectarme a LDAP y consultar a un usuario. lo unico que no logro ver es la contraseña, parece estar encriptada y no he logrado como obtenerla.

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 "";
}