php authentication zend-framework2 ldap

php - No se puede conectar el servidor LDAP: problema en ldap_bind();



authentication zend-framework2 (1)

La biblioteca puede ser diferente entre el 2 o una versión diferente. Se sorprenderá de cuántas variaciones del cliente ldap hay. En su posición, (si estuviera disponible) usaría el cliente ldap para hacer el mismo tipo de conexión de diferentes maneras.

por ejemplo, "-x" en el estándar ldapsearch: -x Usar autenticación simple en lugar de SASL.

Para que pueda expresar la conexión de esta manera:

ldapsearch -h xxxx.net -p 389 (etc) ldapsearch -x -h ldap: //xxxx.net: 389 (esto en realidad debería ser -H ..)

y así. También es posible que las cosas que están fuera de su código sean un problema. Los servidores Prod a menudo tienen firewalls y proxies (por ejemplo, F5) que son transparentes para el servidor / cliente. Asegúrese de que su código final tenga control de excepciones para el enlace y la búsqueda. No estoy muy familiarizado con la implementación de PHP, y el doco es un poco delgado. Normalmente usarías un enlace síncrono.

¿Puedes verificar que el código anterior sea exactamente como lo tienes en Windows? La razón por la que pregunto es por buscar aquí: http://php.net/manual/en/function.ldap-connect.php parece que puedes estar mezclando 2 tipos de bind. Definitivamente no lo hubiera hecho así en Python estándar.

Entonces, si usas un URI normalmente, lo harías así:

ldap_connect("ldap://blah:389")

y si te estás conectando a través del combo de host / puerto:

ldap_connect("blah","389")

Con la mínima información de excepción, lo mejor es que intenta vincularse a un nombre de host "ldap: //xxxx.net" en el puerto "389".

Intento implementar una autenticación LDAP en mi aplicación web desarrollada en ZF2. La autenticación LDAP funciona bien en Windows 7.

Pero, después de mover la aplicación a la máquina LINUX, la autenticación LDAP no funciona. Siempre obtengo el error como: Advertencia: ldap_bind (): no se puede enlazar al servidor: no se puede contactar al servidor LDAP en LdapConnect.php en la línea 20

He usado los guiones como:

$ldaphost = "ldap://xxxx.net"; $ldapport = 389; $ds = ldap_connect($ldaphost, $ldapport) or die("Could not connect to $ldaphost"); if ($ds) { $username = "[email protected]"; $upasswd = "password"; $ldapbind = ldap_bind($ds, $username, $upasswd); if ($ldapbind) { print "Congratulations! you are authenticated successfully."; }else{ print "Better luck next time!"; } }

¿Debo instalar cualquier paquete de software o debo hacer alguna configuración?

Nota: si doy la dirección IP, está funcionando bien, pero si le doy el nombre de dominio, entonces no está funcionando.

Por favor ayudame a resolver el problema.