Rechercher : dans
Par :

[PHP] Ajout d'un compte LDAP (Add: Constrain

Dernière réponse le 12 jun 2008 à 16:07:22 Julien, le 20 aoû 2007 à 14:19:56 
 Signaler ce message aux modérateurs

Bonjour,

Quand j'execute ce code j'ai cette erreur :
Warning: ldap_add() [function.ldap-add]: Add: Constraint violation in test.php on line 56

L'erreur se trouve dans le tableau $adduserAD, mais je ne sais pas où.

<?
    $adduserAD['cn'][0] = "PNom";
    $adduserAD['sn'][0] = "NOM";
    $adduserAD['mail'][0] = "prenom.nom@domaine.com";
    $adduserAD['displayname'][0] = "NOM Prenom";
    $adduserAD['givenname'][0] = "Prenom";
    $adduserAD['name'][0] = "PNom";
    $adduserAD['scriptpath'][0] = "logon.bat";
    $adduserAD['userprincipalname'][0] = "PNom@DOMAINE.COM";
    
    $adduserAD['objectclass'][0] = "top";
    $adduserAD['objectclass'][1] = "person";
    $adduserAD['objectclass'][2] = "organizationalPerson";
    $adduserAD['objectclass'][3] = "user";
    
    $adduserAD['userPassword'][0] = '{MD5}' . base64_encode(pack('H*',md5("pass")));
    
    ldap_add($ds, "CN=NOM Prenom,OU=Magasin_Expedition,OU=Users,OU=101,DC=DOMAINE,DC=com", $adduserAD);

?>


Merci d'avance
Configuration: Windows XP
Firefox 2.0.0.5

Meilleures réponses pour « [PHP] Ajout d'un compte LDAP (Add: Constrain » dans :
PHP - Connexion à un annuaire LDAP Voir Introduction à LDAP PHP permet la connexion et l'envoi de requêtes sur un annuaire LDAP, c'est-à-dire un serveur permettant de stocker des informations de manière hiérarchique. Un serveur LDAP est conçu pour être capable de gérer les opérations...
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
PHP - Administration d'un annuaire LDAP VoirIntroduction à LDAP PHP permet la connexion et l'envoi de requêtes sur un annuaire LDAP, c'est-à-dire un serveur permettant de stocker des informations de manière hiérarchique. Pour plus d'informations sur les fonctions LDAP de PHP, reportez...
Configuration du serveur LDAP (OpenLDAP) VoirIntroduction à LDAP Avant de commencer la configuration, il est conseillé d'établir l'inventaire des objets et des informations à stocker dans l'annuaire. Dans le cadre de cet article, nous nous intéresserons à une gestion centralisée des carnets...
Installation de PostgreSQL VoirTéléchargement La première chose à faire consiste à récupérer l'archive contenant les sources de PostgreSQL. Il existe diverses archives, contenant les différents composants de Postgres, le mieux étant de télécharger l'archive...

1

Alain42, le 20 aoû 2007 à 18:36:15

Si tu es en PHP5, évites d'utiliser les shorts tags <? ?> mets des <?php ?>

Ensuite, je ne connais pas cette fonction, mais est ce normal que tu ais plusieurs fois OU ?

En regardant sur le site manuelphp.com , il semble que tu doives utiliser les mêmes paramètres que ceux de la connexion à LDAP

Répondre à Alain42

2

Alain42, le 20 aoû 2007 à 19:12:27

Je ne sais pas si cela te rendra service, mais je viens de trouver un tuto intéressant sur LDAP:

http://beaussier.developpez.com/articles/php/ldap/phpldap.pd­f

Répondre à Alain42

3

Julien, le 21 aoû 2007 à 07:59:29

Lol, j'ai déjà du faire le tour des ressources possible de trouver sur google.

PHP 5 c'est pas le point qui m'interresse, surtout que c'est un script de test.

Aucun expert LDAP dans le coin ??????????

Répondre à Julien

4

Julien, le 21 aoû 2007 à 08:00:42

Mes 2 chemin LDAP sont correct (testé).

Répondre à Julien

5

Alain42, le 21 aoû 2007 à 10:22:23

Désolé d'insister, mais il faut que tu utilises des tags normalisés <?php ?> , car même pour un script de test il tourne obligatoirement sur une plateforme avec une version de PHP. Et si c'est en php5 tu auras des comportements bizarres, j'ai déjà eu le pb et en parcourant le forum je ne suis pas le seul !

Je ne suis pas un spécialiste de LDAP, mais cela me parait bizarre que tu ais plusieurs fois OU= (cela voudrait dire que tu ajoutes dans plusieurs entrées de ton serveur LDAP. (Le tuto que je t'ai indiqué à l'air pas mal je sais que tu en as déja lu, mais jettes y un coup d'oeil qd même)

Répondre à Alain42

6

Julien, le 21 aoû 2007 à 11:14:19

Merci, pour tes reponses Alain42, tres tres sympa de ta part, mais <?php ou <? ca me changera rien, car les fonctions que j'utilise sont a partir de PHP 4.

Pour le chemin LDAP il est bon, car j'arrive a voir toutes les infos sur tous les comptes.....etc.

Car sur cet active directory l'arborescence est classée que par des OU (c'est pas moi qui est fait ca, lol)

Répondre à Julien

7

 immobilia, le 12 jun 2008 à 16:07:22

Ta réponse se trouve sur LDAP PHP.

Il s'agit juste que tes attributs 'scriptpath' et 'userprincipalname' ne sont pas définis dans les classes standard.
Si la classe 'user' est une de tes classes personnelles assurent toi qu'elle sont inclues dans la lecture des schémas et qu'elle autorise ces 2 attributs.

PS pour Alain42 : les balises <?php n'ont rien à voir dans ce contexte, s'il a un retour PHP c'est qu'il utilise ce qu'il faut vis à vis du serveur <? ou <?php

Répondre à immobilia