[PHP] Añadir una cuenta LDAP (Agregar: Requerir

Julien -  
immobilia Mensajes publicados 44 Estado Miembro -
Hola,

Cuando ejecuto este código, tengo este error:
Warning: ldap_add() [function.ldap-add]: Add: Constraint violation in test.php on line 56

El error se encuentra en el arreglo $adduserAD, pero no sé dónde.

<? $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); ?>


Gracias de antemano
Configuración: Windows XP Firefox 2.0.0.5

7 respuestas

Julien
 
Gracias por tus respuestas Alain42, es muy, muy amable de tu parte, pero <?php o <? no me cambiará nada, ya que las funciones que utilizo son a partir de PHP 4.

En cuanto a la ruta LDAP, está bien, ya que puedo ver toda la información de todas las cuentas ... etc.

Porque en este directorio activo la jerarquía está clasificada solo por OU (no fui yo quien lo hizo, jaja).
1
Alain42
 
Si estás en PHP5, evita usar las etiquetas cortas <? ?> y usa <?php ?>

Luego, no conozco esta función, pero ¿es normal que tengas varias veces O?

Al mirar en el sitio manualphp.com, parece que debes usar los mismos parámetros que los de la conexión a LDAP.
0
Alain42
 
No sé si te será útil, pero acabo de encontrar un tutorial interesante sobre LDAP:

https://www.developpez.com/telechargements/auth/id/43205ff6537108d65199ece96809fb2b
0
Julien
 
lol, ya he tenido que recorrer todos los recursos posibles que se pueden encontrar en google.

PHP 5 no es el punto que me interesa, sobre todo porque es un script de prueba.

0
Julien
 
mis 2 caminos LDAP son correctos (probados).
0
Alain42
 
Lo siento por insistir, pero tienes que usar etiquetas normalizadas <?php ?>, porque incluso para un script de prueba, necesariamente se ejecuta en una plataforma con una versión de PHP. Y si es en php5, tendrás comportamientos extraños, ya he tenido el problema y al recorrer el foro no soy el único.

No soy un especialista en LDAP, pero me parece raro que tengas varias veces OU= (eso querría decir que estás añadiendo en varias entradas de tu servidor LDAP. El tutorial que te indiqué parece bastante bien, sé que ya lo has leído, pero échale un vistazo de todos modos.
-1
immobilia Mensajes publicados 44 Estado Miembro 17
 
Tu respuesta se encuentra en LDAP PHP.

Solo se trata de que tus atributos 'scriptpath' y 'userprincipalname' no están definidos en las clases estándar.
Si la clase 'user' es una de tus clases personales asegúrate de que está incluida en la lectura de los esquemas y que permite estos 2 atributos.

P.D. para Alain42: las etiquetas <?php no tienen nada que ver en este contexto, si hay un retorno PHP es porque está utilizando lo que necesita respecto al servidor <? o <?php
-1