Bonjour, je tente de créer des utilisateurs dans un LDAP à partir de mon projet java et c'est ma première avec un LDAP (Dans mes autres projets tout était déjà en place mais surtout ce n'était que de la lecture!)!

Donc pour ceci je me suis créer une petite classe avec ses petites méthodes qui vont bien dont la méthode createUser().

Ci-joint, le try catch:

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
 
try
        {
            aCtx = new InitialDirContext(aEnv);
 
            BasicAttributes myAttrs = new BasicAttributes();
            BasicAttribute myObjectClass = new BasicAttribute("objectClass");
            myObjectClass.add("person");
            myAttrs.put(myObjectClass);
            BasicAttribute mySa = new BasicAttribute("cn", "test");
            myAttrs.put(mySa);
            BasicAttribute mySn = new BasicAttribute("sn", "test");
            myAttrs.put(mySn);
            BasicAttribute myUp = new BasicAttribute("mail", "test@test.com");
            myAttrs.put(myUp);
            aCtx.createSubcontext("ou=users,dc=maboite,dc=com",myAttrs);            
            aCtx.close();
        }
        catch (NameAlreadyBoundException nex)
        {
            System.out.println("User ID is already in use, please select a different user ID ...");
        }
        catch (Exception ex)
        {
            System.out.println("Failed to create user account... Please verify the user information...");
            ex.printStackTrace();
        }
La variable aCtx est du type DirContext.
la variable aEnv est du type HashTable
Tout ceci pour initialiser le contexte.

Je me connecte au LDAP avec mon user de base qui peut tout faire.

Mais au final, j'ai une erreur sur la ligne de code suivante:
"aCtx.createSubcontext("ou=users,dc=maboite,dc=com",myAttrs);"

l'erreur est la suivante:

"[LDAP: error code 65 - attribute 'ou' not allowed]; remaining name 'ou=users,dc=maboite,dc=com'"

si j'enlève le group users, ca me dit attribute dc not allowed, si je met le context du super user, il me dit attribute cn not allowed.

Donc j'oublie surement des choses, je ne sais pas.
Merci pour votre aide.