[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Conexion PHP-LDAP



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

Reply to: