El 04/10/10 13:46, Carlos O. Cazorla Machado escribió:
Hola colegas:
Aunque esta no es exactamente una lista de programacion en PHP, me
atrevo a plantear dos problemas, pues tal algun colega tenga alguna
sugerencia util al respecto.
1- Intento conectarme a un servidor ldap (Active Directory) para leer la
lista de usuarios y cuando intento usar la funcion ldap_search me
devuelve que ocurrio un error en la operacion. Creo que el problema esta
en el dn, pues el dn de mi dominio seria "dc=ecot,dc=co,dc=cu" pero no
funciona. En cambio, la documentacion revisada presenta ejemplos de dn
como el siguiente, "o=mi empresa,c=us" he tratado de seguir esta
variante pero nada. O sea, he probado con
ldap_search($coneccion, "ou=usuarios,dc=ecot,dc=co,dc=cu", $filtro);
y
ldap_search($coneccion, "ou=usuarios,o=ecot,o=co,c=cu", $filtro);
y siempre me devuelve el error.
Alguna sugerencia al respecto.
2- Para evitar preguntas de este tipo en la lista, por favor, si alguno
conoce de listas de programacion php (en castellano y/o ingles)
enviemelas por e-mail para suscribirme. Recalco que deben ser listas de
correo y no foros o canales IRC, pues no tengo acceso a internet. Por
esta misma razon no pude acudir a dichas opciones ni a busquedas en la
web.
Mil disculpas de antemano y gracias por el apoyo.
Saludos,
Hola
En algún momento escribí algo en mi blog sobre acceder a Active
Directory desde Linux. Puedes usar la info para acceder a Active
Directory desde la linea de comando de linux y luego puedes usar esa
misma información para conectar desde php.
Te transcribo lo que escribí:
Los usuarios suelen guardarse en una rama cn=Users que pende de la base.
Lo más común es que la base sea el nombre del dominio de la organización
separado en componentes de dominio. Por ejemplo:
dc=empresa,dc=com
Los usuarios se identifican también por su common name o cn. Una entrada
de un usuario normal quedaría así:
cn=usuario, cn=Users, dc=empresa, dc=com
Decir además que para buscar en el árbol necesitamos un usuario creado
en Active Directory, no tiene que ser necesariamente administrador. Por
lo tanto si no lo tenemos vamos al servidor Windows y lo creamos (o
pedimos que nos lo creen).
Una sentencia de ldapsearch para buscar todos los usuarios de nuestro
Active Directory quedaría así
#ldapsearch -x -w userpass -D "cn=usuario,cn=Users,dc=empresa,dc=com" -h
ads.empresa.com -b dc=empresa,dc=com -LLL "(sAMAccountName=*)"
Donde las siguientes opciones corresponden a:
-D dn del usuario con el que nos conectamos al servidor y que debe estar
creado previamente.
-W El password del usuario que se conecta
-h El nombre o la ip del servdior LDAP - Active Directory
-b La base del directorio LDAP
Saludos
||