El 04/10/10 13:46, Carlos O. Cazorla Machado escribió:
HolaHola 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, 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
|