Назад | Перейти на главную страницу

установка phpldapadmin

У меня работает сервер LDAP:
ldap://129.168.0.117:389
или
ldap://roshd.org:389 где roshd.org = 129.168.0.117

У меня есть эта конфигурация в config.php в 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');


в моем sldap.conf:


...
database    bdb
directory   /usr/local/var/openldap-data
suffix      "dc=roshd,dc=org"
rootdn      "cn=Manager,dc=roshd,dc=org"
rootpw      secret
...

но когда я пытаюсь войти в phpldapadmin, я получил эту ошибку. есть идеи?


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.

Найди отличие:

$ server-> setValue ('сервер', 'хост', '192.168.0.117');

LDAP: //129.168.0.117: 389

Я подозреваю, что предполагается, что rootpw будет храниться в зашифрованном виде, и у вас есть открытый текст, и в этом случае ожидается, что, возможно, другой результат. (То есть хешированное значение секрета отправляется и сравнивается с секретом строки открытого текста.)

Если вы выполняете аутентификацию по самому ldap, вы можете проверить этот параметр: $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');

В CentOS 7 я получаю ту же ошибку, поскольку SELinux ограничивает доступ к ldap из httpd ...

setsebool -P httpd_can_connect_ldap on

сделали свое дело ...

Я была такая же проблема. Вы можете проверить ниже.

  1. Проверьте, есть ли у вас правильный IP-адрес в $ servers-> setValue ('server', 'host', 'ipaddress'); в файле ldap.conf. и перезапустите сервер tomcat. Ура.

  2. Проверьте, существует ли пользователь, с которым вы пытаетесь войти, или не использует "ldapsearch -x" на терминале.