访问AD的LDAP绑定错误:无法联系LDAP服务器

时间:2016-06-14 14:49:50

标签: php active-directory ldap

我是LDAP的新手,也是PHP的新手;我试图访问Active Directory。以下ldapsearch命令在shell提示符下工作:

ldapsearch -H ldap://healthdiagnostics.local -b ou='All HD Users',dc=healthdiagnostics,dc=local -D admin.mchristie@healthdiagnostics.local -w 'mypassword'

所以我认为这意味着healthdiagnostics.local正在接受LDAP请求。在PHP中,如果我这样做:

$ds = ldap_connect("ldap://healthdiagnostics.local");

我获得了成功,但我的理解是ldap_connect将在作为URL解析的任何内容上返回成功,因此不会告诉我太多。然后是绑定:

$r=ldap_bind($ds,'admin.mchristie@healthdiagnostics.local','mypassword');

这给了我这个错误:

Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP server in /var/www/webapp.hmca2.com/public_html/terms.php on line 24

一些搜索和阅读让我觉得我需要一个连接字符串,所以我尝试了这些:

$r=ldap_bind($ds,'uid=admin.mchristie@healthdiagnostics.local,ou=Administrators,dc=healthdiagnostics,dc=local', 'password');
$r=ldap_bind($ds,'uid=admin.mchristie,ou=Administrators,dc=healthdiagnostics,dc=local','password');

具有相同的结果。这让我觉得我没有从ldap_connect步骤成功连接,但我不知道如何找出问题所在。在这里搜索旧答案我发现了一个建议添加" TLS_REQUEST允许"至 ldap.conf,我做过没有任何好处。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:-1)

要启用LDAP,您还需要为LDAP安装CA证书,并使用证书信息更新LDAP配置文件。根据您使用的操作系统,有一些在线指南。