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

Java Discussion :

Vérifier l'existence d'un utilisateur dans l'Active drectory


Sujet :

Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Vérifier l'existence d'un utilisateur dans l'Active drectory
    Bonjour,

    je recherche depuis quelques temps une manière simple de vérifier si un utilisateur est présent dans l'annuaire LDAP (Active Directory). En sachant que cet utilisateur n'ait pas les droits administrateur. Je souhaiterais juste après authentification de ce dernier, depuis un formulaire (login et mot de passe), le diriger vers une application dont il a droit.


    Je me suis servi de cet exemple sur le lien suivant http://forum.java.sun.com/thread.jsp...592611&start=0 pour la connexion au serveur ldap, puis à retrouver les informations sur un utilisateur dont le DN est connu. J'essaie maintenant un méthode qui me permettrais juste de savoir s'il est présent sur le serveur..


    Avez-vous une solution?

    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 80
    Points : 75
    Points
    75
    Par défaut
    Bonjour,

    Voila comment j'ai fais,
    Une fois la connection établie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SearchControls searchControls = new SearchControls();
    String searchBase   = "CN=Users,DC=TONDC";
    String searchFilter = "(&(objectClass=user)(CN=" + username +"))";
    searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
    searchControls.setReturningAttributes(new String[] { "sn"});
    NamingEnumeration en = adContext.search(searchBase,searchFilter,searchControls);
    S'il te renvoie une entrée, l'utilisateur existe.

    Bonne journée

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Merci,
    mais en fait j'arrive déjà à faire une recherche sur un utilisateur donné à partir de son DN (cn=toto, ou=org, dc=domaine, dc=com).
    Mon problème est que je souhaiterais utiliser en plus de toto le mot de passe de l'utilisateur pour une connexion. Donc pouvoir faire un bind sur l'Active directory ou un search avec cn=toto & pwd=password.

    Merci!!

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    J'ai résolu le problème, car en fait le initialDirContext suffit même si cette utilisateur n'a pas les droits administrateur. J'avais un problème sur mon DN. Le mot de passe de l'utilisateur ne correspondait pas au bon DN.

    Hashtable<String, String> LDAPEnv = new Hashtable<String, String>();
    LDAPEnv.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
    LDAPEnv.put(Context.PROVIDER_URL, "ldap://"+LDAPHost+":"+LDAPPort);
    LDAPEnv.put(Context.SECURITY_AUTHENTICATION, LDAPAuth);
    LDAPEnv.put(Context.SECURITY_PRINCIPAL, "CN=agahie, CN=users,"+LDAPBase);
    LDAPEnv.put(Context.SECURITY_CREDENTIALS, user_pwd);
    LDAPEnv.put(Context.REFERRAL, "follow");
    DirContext dirContext;

    dirContext = new InitialDirContext(LDAPEnv);
    System.out.println("Connexion au LDAP OK");

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vérifier l'existence d'une valeur dans un ComboBox
    Par logiciel_const dans le forum Composants VCL
    Réponses: 6
    Dernier message: 08/03/2008, 10h07
  2. Vérifier l'existence d'un item dans une listbox
    Par soso78 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 23/03/2007, 11h12
  3. [MySQL] Vérifier l'existence d'un nom dans une table
    Par joselito dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 12/01/2007, 23h49
  4. [MySQL] Vérifier l'existance d'une donnée dans la base avant insertion
    Par Him dans le forum PHP & Base de données
    Réponses: 26
    Dernier message: 16/07/2006, 16h47
  5. vérifier l'existance d'une table dans une base de donnée
    Par zidenne dans le forum Bases de données
    Réponses: 1
    Dernier message: 31/10/2005, 12h39

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