validate unable ldap_search ldap_connect ldap_bind example php ldap

unable - php ldap install



Advertencia de PHP: ldap_bind(): no se puede enlazar al servidor: no se puede contactar al servidor LDAP (5)

Connect abre la sesión. Bind es lo que realmente te autentica. Por lo tanto, se conectó pero no inició sesión con credenciales válidas.

He seguido un problema con mi script php:

Advertencia de PHP: ldap_bind (): no se puede enlazar al servidor: no se puede contactar con el servidor LDAP en ....

ldap_connect() dice "Success" pero ldap_bind() falla, ¿cómo solucionar ese problema?


En algún momento el problema dependerá de tu entorno (Linux, Windows ...) Intenta vincularlo con una de estas opciones:

$connect = ldap_connect("ldap://".$ldap_server); $auth_user = ''CN=XXX,OU=XXX,DC=XXX,DC=com''; $bind = ldap_bind($connect, $auth_user , $auth_pass);

o

$bind = ldap_bind($connect, ''YourDomaine//'.$auth_user , $auth_pass);


No estoy teniendo una experiencia que coincida con lo que estoy leyendo aquí. Lo intenté

$ds=ldap_connect("goblydeegook",336); if($ds) echo "successful";

y recibo la respuesta "exitosa"


Tenía este error en RHEL7 (CentOS7) debido a los puertos restrictivos de SELinux que HTTPD puede usar.

Los puertos LDAP 389 y 686 no están en la lista de permisos predeterminada, puede desbloquear con:

setsebool -P httpd_can_network_connect 1

Puede probar la restricción probando un socket al servidor LDAP:

fsockopen(''LDAP-Server-IP'', 389);

Le dará ''Permiso denegado'' mostrando que está bloqueado y no es un problema de credenciales.

También verifique su archivo de registro de auditoría SELinux para otras cosas que están siendo bloqueadas.


la función ldap_bind () pide tres parámetros:
1.a identificación de recurso
2.a rdn
3.una contraseña asociada con el rdn
el rdn y la contraseña son opcionales
si enlaza con solo el ID del recurso: -

/ * $ ldap = ladap_connect ( nombre de host , * puerto *);
ldap_connect () devuelve una identificación de recurso * /
ldap_bind () devuelve un valor booleano (verdadero o falso)
ldap_bind ($ ladp); // enlace anónimo
$ lb = ldap_bind ($ ldap, "uid = xxx, ou = algo, o = nombre de host.com", "contraseña"); // utilizado para autenticar

esto debería funcionar si no estás utilizando credenciales no válidas.