Descubra a diferença:
$servers->setValue('server','host','192.168.0.117');
ldap://129.168.0.117:389
Eu tenho um servidor LDAP executado em:
ldap://129.168.0.117:389
ou
ldap://roshd.org:389
onde roshd.org = 129.168.0.117
Eu tenho essa configuração no config.php no phpldapadmin:
$servers = new Datastore();
$servers->newServer('ldap_pla');
$servers->setValue('server','name','My LDAP Server');
$servers->setValue('server','host','192.168.0.117');
$servers->setValue('server','port',389);
$servers->setValue('login','auth_type','session');
$servers->setValue('login','bind_id','cn=Manager,dc=roshd,dc=org');
$servers->setValue('login','bind_pass','secret');
$servers->setValue('auto_number','search_base','ou=People,dc=roshd,dc=org');
no meu sldap.conf:
...
database bdb
directory /usr/local/var/openldap-data
suffix "dc=roshd,dc=org"
rootdn "cn=Manager,dc=roshd,dc=org"
rootpw secret
...
mas quando eu tento entrar no phpldapadmin, recebi este erro. existe alguma ideia?
Unable to connect to LDAP server My LDAP Server
Error: Can't contact LDAP server (-1) for user
error Failed to Authenticate to server
Invalid Username or Password.
Eu suspeito que o rootpw seja esperado para ser armazenado criptografado, e você tem texto claro, caso em que está esperando, talvez, um resultado diferente. (Ou seja, o valor do segredo em hash está sendo enviado e sendo comparado ao segredo da string de texto não criptografado.)
Se você está autenticando contra o ldap em si, você pode querer verificar esta configuração:
$servers->setValue('login','attr','uid');
/* If you specified 'cookie' or 'session' as the auth_type above, you can
optionally specify here an attribute to use when logging in. If you enter
'uid' and login as 'dsmith', phpLDAPadmin will search for (uid=dsmith)
and log in as that user.
Leave blank or specify 'dn' to use full DN for logging in. Note also that if
your LDAP server requires you to login to perform searches, you can enter the
DN to use when searching in 'bind_id' and 'bind_pass' above. */
// $servers->setValue('login','attr','dn');
No CentOS 7 recebo o mesmo erro, já que o SELinux restringe o acesso ao ldap do httpd ...
setsebool -P httpd_can_connect_ldap on
fez o truque ...
Eu tive o mesmo problema. Você pode verificar abaixo.
Verifique se você tem o ipaddress certo em $ servers- > setValue ('server', 'host', 'ipaddress'); no arquivo ldap.conf. e reinicie o servidor tomcat. Felicidades.
Verifique se o usuário com o qual você está tentando fazer login existe ou não usando "ldapsearch -x" no terminal.
Tags ldap