Я работаю над интеграцией аутентификации LDAP с моим проектом PHP, развернутым на платформе Linux. Я успешно завершил ldapsearch из командной строки и из кода php для соединения NON SSL.
Что касается SSL-соединения, я не могу заставить его работать. Я думаю, что если я смогу заставить ldapsearch работать из командной строки, работа со стороной php не будет проблемой. Я использую CentOS, и ниже приведен шаблон моего запроса результатов поиска, который работает для запроса без SSL на порту 3268, но не работает для порта 3269 с двумя ошибками ldap_start_tls: Can't contact LDAP server (-1)
и ldap_bind: Can't contact LDAP server (-1)
. Я искал этот запрос, и он привел меня к страницам, которые говорят об аутентификации Kerboros, что мне не нужно. Любая помощь будет принята с благодарностью.
SSL
[Test]$ ldapsearch -x -h ldap.internal.company.com -D "CN=personName,OU=EUS,
DC=company,DC=com" -p 3269 -b "dc=company,dc=com"
samaccountname=personName -Z "/etc/openldap/cacerts/test.cer"
-w "<<MyPassword>>"
ldap_start_tls: Can't contact LDAP server (-1)
ldap_bind: Can't contact LDAP server (-1)
Без SSL
[Test]$ ldapsearch -x -h ldap.internal.company.com -D "CN=personName,
OU=EUS, DC=company,DC=com" -p 3268 -b "dc=company,dc=com"
samaccountname=personName -Z "/etc/openldap/cacerts/test.cer" -w
.....
...
//Gives valid output
Вот несколько вещей, которые вы можете попробовать:
в ldap.conf добавьте это:
TLS_REQCERT never
И в вашей строке ldapsearch:
-H ldaps://ldap.internal.company.com:3269
Вместо того:
-h ldap.internal.company.com -p 3269