IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Problème avec retour LDAP


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 232
    Par défaut Problème avec retour LDAP
    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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    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 pour 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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    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

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 232
    Par défaut
    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

  3. #3
    Membre chevronné Avatar de Mobius
    Profil pro
    none
    Inscrit en
    Avril 2005
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : none

    Informations forums :
    Inscription : Avril 2005
    Messages : 463
    Par défaut
    A ma connaissance, il n'y a aucun moyen de connaitre le nombre de résultat d'une recherche sans les compter un par un.

    Sinon pour faire une recherche selon un critère, je te suggère plutot d'utiliser la méthode search de la classe DirContext. Cela te permettera également de simplifier ton algo de recherche.

    Sinon tu peux aussi utiliser une lib comme LDAPBeans. Je l'ai justement fait dans le but de simplifier l'accès aux annuaires LDAP. Si tu as des questions ou suggestions, n'hésite pas a me contacter.

Discussions similaires

  1. problème avec retour d'une fonction php
    Par franco9 dans le forum Langage
    Réponses: 13
    Dernier message: 22/12/2012, 09h06
  2. [LDAP] Problème avec la fonction ldap_add
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 12/06/2008, 15h04
  3. Problème avec retour d'une procédure stockée
    Par jomphh dans le forum Deski
    Réponses: 22
    Dernier message: 21/11/2007, 23h57
  4. [utilitaire bcp]problème avec retour à la ligne
    Par m-mas dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/05/2007, 15h10
  5. show_hide un div: problème avec retour
    Par -DeN- dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/02/2006, 12h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo