Problème avec retour LDAP

alen3 Messages postés 49 Date d'inscription mercredi 4 janvier 2012 Statut Membre Dernière intervention 24 novembre 2012 - 13 mai 2012 à 10:40
alen3 Messages postés 49 Date d'inscription mercredi 4 janvier 2012 Statut Membre Dernière intervention 24 novembre 2012 - 15 mai 2012 à 23:10
salut,


je suis entrain de faire un statistique pour le nombre utilisateurs inscrit ( ajouter dans LDAP)

je travail avec LDAP

j'arrive à ajouter un utilisateur dans LDAP avec ce code
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost:389");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL,"uid=admin,ou=system"); // specify the username
env.put(Context.SECURITY_CREDENTIALS,"secret");// specify the password
// TODO code application logic here
 
// entry's DN
String entryDN = "uid=alen,dc=example,dc=com";
 
// entry's attributes
 
Attribute cn = new BasicAttribute("cn", "fabio");
Attribute sn = new BasicAttribute("sn", "fabio1");
Attribute mail = new BasicAttribute("mail", "fabio@google.com");
Attribute phone = new BasicAttribute("telephoneNumber", "+1 222 333");
Attribute givenName = new BasicAttribute("givenName", "fabio2");
Attribute userpassword = new BasicAttribute("userpassword", "ollend");
Attribute oc = new BasicAttribute("objectClass");
oc.add("top");
oc.add("person");
oc.add("organizationalPerson");
oc.add("inetOrgPerson");
 
DirContext ctx = null;
 
try {
// get a handle to an Initial DirContext
ctx = new InitialDirContext(env);
 
// build the entry
BasicAttributes entry = new BasicAttributes();
 
 
entry.put(cn);
entry.put(givenName);
entry.put(sn);
entry.put(mail);
entry.put(phone);
entry.put(userpassword);
entry.put(oc);
 
 
 
entry.put(oc);
 
// Add the entry
 
ctx.createSubcontext(entryDN, entry);
// System.out.println( "AddUser: added entry " + entryDN + ".");
 
} catch (NamingException e) {
System.err.println("AddUser: error adding entry." + e);
}



et j'arrive à ajouter un attribut dateD'inscrit à ce personne

cet attribut permet de m'aider à savoir les nombres de personnes ajouter dans une période bien déterminer ( dans une année spécifique)

donc le but est de faire un code java qui permet de retourner depuis LDAP les nombre d'utilisateurs inscrit dans une année bien déterminée

donc la requête de recherche est filtré selon un paramètre ( c'est l'année)



j'arrive à récupérer tous les utilisateurs mais sans filtrage

avec ce code
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost:389");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL,"uid=admin,ou=system"); // specify the username
env.put(Context.SECURITY_CREDENTIALS,"secret");// specify the password
 
DirContext dirContext;
 
try {
 
  dirContext = new InitialDirContext(env);
  NamingEnumeration e = dirContext.listBindings("dc=example,dc=com");
 
  while (e.hasMore()) {
    Binding b = (Binding) e.next();
 
    Attributes at=dirContext.getAttributes(b.getName()+",dc=example,dc=com");
    System.out.println("email" +at.get("mail").get());
  }
 
  dirContext.close();
} catch (NamingException e) {
  System.err.println("Erreur lors de l'acces au serveur LDAP" + e);
  e.printStackTrace();
}
System.out.println("fin des traitements");


donc le but est de faire avec le même principe mais la recherche est selon l'attribut dateD'inscrit mais le retour est un nombre entier

merci d'avance

1 réponse

alen3 Messages postés 49 Date d'inscription mercredi 4 janvier 2012 Statut Membre Dernière intervention 24 novembre 2012
15 mai 2012 à 23:10
personne n'a aucune idée sur ce genre de problème

pour résumé mon besoin est de savoir les nombres d'utilisateurs qui existe dans LDAP

ce recherche est selon un paramètre ( selon un attribut d'utilisateur : peut n'importe un nom ,un mail .......)

merci d'avance
0
Rejoignez-nous