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

API standards et tierces Java Discussion :

[jndi]Vérifier si un user est connu dans ActiveDirectory


Sujet :

API standards et tierces Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2003
    Messages : 8
    Points : 8
    Points
    8
    Par défaut [jndi]Vérifier si un user est connu dans ActiveDirectory
    Bonjour,

    Dans la partie administration d'une application, je dois permettre de créer de nouveaux utilisateurs pour celle-ci. Lors de la création, je dois vérifier dans active directory que le user y existe bien (pas de check de password à ce niveau).

    J'arrive à faire le check sur une des branches de l'AD lorsque je suis connectee avec le user que je dois authentifier, si j'essaie de faire une recherche sur un autre user, il ne me renvoie aucun objet. Hors la personne qui va ajouter un utilisateur ne connait pas son password.

    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
     
    DirContext ctx = null;
    try {
            ctx = new InitialDirContext(env);
     
            SearchControls ctls = new SearchControls();
            ctls.setSearchScope(SearchControls.SUBTREE_SCOPE);
            String filter="(&(cn=j076791))";
            NamingEnumeration answerSearch = ctx.search("CN=sousdomaine,DC=mondomaine", filter, ctls);
            while (answerSearch.hasMore()) {
    	SearchResult sr = (SearchResult) answerSearch.next();
     
                 Attributes userAttr = sr.getAttributes();
                 Attribute userid = userAttr.get("CN");
                 System.out.println(userid);
            }
            ctx.close();
         } 
    catch (NamingException e) {
    	            System.out.println("Problem binding to " + domainControllerName + ": " + e);
    	        } 
    finally {
    	try {
    	     if (null != ctx) ctx.close();
    	} 
                 catch (NamingException e) {e.printStackTrace();}
    	        }
    Les utilisateurs pouvant se trouver à différents niveaux dans l'active directory, n'y a-t'il pas un moyen de faire la recherche à partir d'un noeud commun de l'arbre et de descendre toutes les branches?

    Idéalement, cette recherche devrait pouvoir se faire en login anonymous.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2003
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Finalement, j'ai trouve une solution, je fais ma recherche sur le domaine directement. Par contre, je suis obligée d'être identifiée pour pouvoir le faire.

    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
     
    DirContext ctx = null;
    try {
            ctx = new InitialDirContext(env);
     
            SearchControls ctls = new SearchControls();
            ctls.setSearchScope(SearchControls.SUBTREE_SCOPE);
            String filter="(&(cn=j076791))";
            NamingEnumeration answerSearch = ctx.search("DC=mondomaine", filter, ctls);
            while (answerSearch.hasMore()) {
    	SearchResult sr = (SearchResult) answerSearch.next();
     
                 Attributes userAttr = sr.getAttributes();
                 Attribute userid = userAttr.get("CN");
                 System.out.println(userid);
            }
            ctx.close();
         } 
    catch (NamingException e) {
    	            System.out.println("Problem binding to " + domainControllerName + ": " + e);
    	        } 
    finally {
    	try {
    	     if (null != ctx) ctx.close();
    	} 
                 catch (NamingException e) {e.printStackTrace();}
    	        }

  3. #3
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 44
    Points
    44
    Par défaut
    bonjour tout le monde,

    je veux connecter un active directory a travers ldap, j'ai essayé plusieur code mais je n'ai pas arrivé,

    svp un code avec un peu d'explication de "cn" ,"dc", "dc"

    merci

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

Discussions similaires

  1. Vérifier qu'une table est vide dans le datastore
    Par argonath dans le forum GWT et Vaadin
    Réponses: 3
    Dernier message: 20/03/2010, 19h47
  2. [WD14] Vérifier si un fichier est ouvert dans une autre application
    Par Gaautman dans le forum WinDev
    Réponses: 1
    Dernier message: 17/01/2010, 21h07
  3. Vérifier si une chaine est présente dans une autre
    Par Galdon dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/10/2008, 15h42
  4. Réponses: 11
    Dernier message: 16/12/2007, 17h33
  5. vérifier qu'un champ est vide dans un formulaire
    Par dr_feelgood dans le forum IHM
    Réponses: 3
    Dernier message: 08/06/2007, 08h21

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