2010-05-09 86 views
1

我试图连接到我的AD服务器,并检查用户名和密码,当我试图做的是正确的,它总是告诉我:检查用户名和密码争夺LDAP PHP

无法绑定到服务器:无效的凭证

我的代码是:

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

当我试图设置一个用户名使用和不使用域名在这个变化: [email protected] 域\用户 用户

当我试图匿名绑定,它确定。 你有什么建议吗?

回答

0

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

如果您发布的值为$username,这将有所帮助。

+0

你能举个例子吗? 我不明白你的意思 谢谢。 – Elad 2010-05-09 13:32:24

0

如果您使用Active Directory,则必须设置该选项:

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)或短版本([email protected])AD支持这两种类型。