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 :

Pblm Connexion Java - LDAP (active directory)


Sujet :

Java

  1. #1
    Membre régulier Avatar de silverfab34
    Inscrit en
    Mars 2006
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2006
    Messages : 203
    Points : 91
    Points
    91
    Par défaut Pblm Connexion Java - LDAP (active directory)
    Bonsoir à tous,
    J'ai souhaite me conencter en Java à un annuaire LDAP (Active Directory)....
    Après avoir recuperé un bout de code ici sur ce forum....

    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
     
    package test;
     
    import java.util.Map;
    import javax.naming.*;
    import javax.naming.directory.*;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import java.util.Hashtable;
     
    public class TestJava {  
     
    	public static void main(String[] args) {
     
    		String baseName = ",cn=users,DC=activedirectory,DC=myorg,DC=ca";
    		String serverIP = "myAdress";
    		String modelUsername = "template";
     
            // Set up environment for creating initial context
            Hashtable env = new Hashtable(11);
            env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
            env.put(Context.PROVIDER_URL,  "ldap://" + serverIP + ":389");
     
            // Authenticate
            env.put(Context.SECURITY_AUTHENTICATION, "simple");
            env.put(Context.SECURITY_PRINCIPAL, "cn=Administrateur" + baseName);
            env.put(Context.SECURITY_CREDENTIALS, "xxxxx");
         //   env.put(Context.SECURITY_PROTOCOL, "ssl");
     
            try
            {
            DirContext ctx = new InitialDirContext(env);
            System.out.println("Connection au serveur LDAP done");
     
            // do something useful with ctx
     
            Attributes answer = ctx.getAttributes("cn=Toto , ou=personnel, ou=GICM");
            for (NamingEnumeration ae = answer.getAll(); ae.hasMore();)
            {
                    Attribute attr = (Attribute)ae.next();
                    System.out.println("attribute: " + attr.getID());
                    for (NamingEnumeration e = attr.getAll(); e.hasMore();
                    System.out.println("value: " + e.next()));
            }
            ctx.close();
            System.out.println("Deconnection done");
            }
            catch (NamingException e)
            {
                    System.out.println("erreur ici: ");
                    e.printStackTrace();
            }
        }
    }
    Après execution, j'ai le message d'erreur suivant :

    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
     
    Connection au serveur LDAP done
    erreur ici: 
    javax.naming.NamingException: [LDAP: error code 1 - 000020D6: SvcErr: DSID-03100684, problem 5012 (DIR_ERROR), data 0;
    remaining name 'cn=Toto, ou=personnel, ou=GICM'
    	at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)
    	at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
    	at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
    	at com.sun.jndi.ldap.LdapCtx.c_getAttributes(Unknown Source)
    	at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_getAttributes(Unknown Source)
    	at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.getAttributes(Unknown Source)
    	at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.getAttributes(Unknown Source)
    	at javax.naming.directory.InitialDirContext.getAttributes(Unknown Source)
    	at javax.naming.directory.InitialDirContext.getAttributes(Unknown Source)
    	at test.TestJava.main(TestJava.java:38)
    Si quelqu'un peut m'expliquer mon erreur, car apparement, je n'arrive pas à me connecter !
    merci d'avance !

  2. #2
    Membre averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    T'as essayé ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Attributes answer = ctx.getAttributes("cn=Toto , ou=personnel, ou=GICM" + baseName);

  3. #3
    Membre régulier Avatar de silverfab34
    Inscrit en
    Mars 2006
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2006
    Messages : 203
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par Bezout Voir le message
    T'as essayé ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Attributes answer = ctx.getAttributes("cn=Toto , ou=personnel, ou=GICM" + baseName);
    Oui, toujours une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    javax.naming.PartialResultException: [LDAP: error code 10 - 0000202B: RefErr: DSID-03100698, data 0, 1 access points
    	ref 1: 'activedirectory.myorg.ca'

  4. #4
    Membre averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    mais alors pourquoi une fois tu utilises

    cn=Toto , ou=personnel, ou=GICM

    et l'autre fois

    cn=users,DC=activedirectory,DC=myorg,DC=ca

    Où est le lien ? Quelle est la structure réelle de ton "arbre" ?

  5. #5
    Membre régulier Avatar de silverfab34
    Inscrit en
    Mars 2006
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2006
    Messages : 203
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par Bezout Voir le message
    mais alors pourquoi une fois tu utilises

    cn=Toto , ou=personnel, ou=GICM

    et l'autre fois

    cn=users,DC=activedirectory,DC=myorg,DC=ca

    Où est le lien ? Quelle est la structure réelle de ton "arbre" ?
    Oui en effet, il sera peut etre mieux de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Attributes answer = ctx.getAttributes(baseName);
    A vrai dire, je ne connais rien à AD et LDAP, je decouvre....... donc j'essaye de voir avec les tuto sur le net et les bouts de code !

  6. #6
    Membre averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    En tout cas un truc dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Attributes answer = ctx.getAttributes("cn=" + name + baseName);
    Avec name un user existant dans ton annuaire (comme Administrateur par exemple)

  7. #7
    Membre régulier Avatar de silverfab34
    Inscrit en
    Mars 2006
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2006
    Messages : 203
    Points : 91
    Points
    91
    Par défaut
    Ok mais j'ai toujours le même principe d'erreur !
    Je ne sais pas si la connexion se fait reellement !

  8. #8
    Membre averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    Pour tester la connexion tu peux faire juste après le new InitialDirContext :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    try {
        ctx.getSchema("cn=Administrateur" + baseName);
        // OK
    }
    catch (NamingException e) {
        // KO
    }

  9. #9
    Membre régulier Avatar de silverfab34
    Inscrit en
    Mars 2006
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2006
    Messages : 203
    Points : 91
    Points
    91
    Par défaut
    Ok, ben apparement, je ne me connecte pas !
    Je me demande si ca ne vient pas du certificat d'AD !

  10. #10
    Membre averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    T'as fait un LDAPBrowser sur ton annuaire ?

  11. #11
    Membre régulier Avatar de silverfab34
    Inscrit en
    Mars 2006
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2006
    Messages : 203
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par Bezout Voir le message
    T'as fait un LDAPBrowser sur ton annuaire ?
    C'est à dire ??? Je n'en sais rien du tout ! Un AD a ete installé sur un serveur et j'essaye de m'y connecter !

    Qu'est ce LDAPBrowser ?

    Merci

  12. #12
    Membre averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    LDAPBrowser est un petit utilitaire (normalement gratuit, que tu peux télécharger).

    C'est une interface graphique qui te permet de visualiser le contenu d'un annaire.

    Le fait de pouvoir visualiser (donc de confirgurer correctement LDAPBrowser) devrait te permette d'avancer dans tes dev java.

  13. #13
    Membre régulier Avatar de silverfab34
    Inscrit en
    Mars 2006
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2006
    Messages : 203
    Points : 91
    Points
    91
    Par défaut
    Ah ben si, il y a un LDAP Browser installé sur la machine !

    J'ai visualisé le contenu de mon annuaire, le dn,cn correspondent à ceux que je passe.........

  14. #14
    Membre régulier Avatar de silverfab34
    Inscrit en
    Mars 2006
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2006
    Messages : 203
    Points : 91
    Points
    91
    Par défaut
    Ben la je bloque !

  15. #15
    Membre régulier Avatar de silverfab34
    Inscrit en
    Mars 2006
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2006
    Messages : 203
    Points : 91
    Points
    91
    Par défaut
    Je ne me connectais pas à cause d'un probleme de config dans mon LDAP !
    Merci de votre aide !

  16. #16
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Je sais que le post date un peu mais pourrait tu précisé comment tu a réglé ton problème car moi aussi je n'y arrive pas :S

    Je vous remercie

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

Discussions similaires

  1. Connexion Java / LDAP
    Par dedeloux dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 03/06/2013, 19h15
  2. Connexion anormalement lente Active Directory 2003 Clien Win XP SP2
    Par digital prophecy dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 11/11/2006, 22h07
  3. Annuaire Ldap- Active Directory
    Par Marcello dans le forum WinDev
    Réponses: 2
    Dernier message: 15/10/2006, 20h34
  4. LDAP - Active directory
    Par Menontona dans le forum Développement
    Réponses: 1
    Dernier message: 13/06/2006, 15h48
  5. Connexion LDAP (active directory)
    Par Mateache dans le forum ASP
    Réponses: 2
    Dernier message: 09/05/2006, 13h33

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