我遇到问题执行一个validation绑定对服务器。 这些问题似乎没有在代码中,但也许是一个服务器问题。
就这样你知道;
我可以用这个脚本匿名绑定;
$ldapconn = ldap_connect("machinename.domain.com") or die("Could not connect to LDAP server."); if ($ldapconn) { // binding anonymously $ldapbind = ldap_bind($ldapconn); if ($ldapbind) { echo "LDAP bind anonymous successful..."; } else { echo "LDAP bind anonymous failed..."; } }
但是,当我尝试使用此脚本进行身份validation的绑定时,它将失败。
// Authenticated Bind $ldaprdn = '[email protected]'; // ldap rdn or dn $ldappass = 'password'; // associated password // connect to ldap server $ldapconn = ldap_connect("machinename.domain.com") or die("Could not connect to LDAP server."); if ($ldapconn) { // binding to ldap server $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass); // verify binding if ($ldapbind) { echo "LDAP bind successful..."; } else { echo "LDAP bind failed..."; } }
我哪里错了?
好,经过多次调查,我已经打开错误信息使用ldap_errno()
和ldap_error()
并发现它带回错误“强(呃)authentication所需”已经发现了两种可能的解决scheme;
调整组策略设置
没有签名要求(域控制器:LDAP服务器签名要求)
结果:pipe理成功绑定,当我不正确地input用户名或密码,并按预期抛出“无效的凭据”。
通过SSL启用LDAP(LDAPS)