检查用户名和密码vie ldap php

时间:2010-05-09 12:28:14

标签: php ldap

我正在尝试连接到我的AD服务器并在我尝试这样做时检查用户名和密码是否正确,它总是告诉我:

  

无法绑定到服务器:凭据无效

我的代码是:

$ldapconn = ldap_connect($adserver,$adport);
$ldapbind = @ldap_bind($ldapconn,"$username","$password");

当我尝试在此变体中设置包含和不包含域名的用户名时: user@domain.co.il 域\用户 用户

当我试图匿名绑定时,可以。 你有什么建议吗?

2 个答案:

答案 0 :(得分:1)

如果使用Active目录,则必须设置以下选项:

  

ldap_set_option($ ldapconn,LDAP_OPT_PROTOCOL_VERSION,3);

     

ldap_set_option($ ldapconn,LDAP_OPT_REFERRALS,0);

并使用FULL DN(例如uid = UserName,cn = Peoples,dc = example,dc = com)或短版本(UserName@example.com)AD支持这两种类型。

答案 1 :(得分:0)

检查用户名。它应该是格式正确的RDN / DN。必须转义特殊字符。

如果您发布$username

的值,会有所帮助