信息:我正在尝试进行身份验证和adLDAP
问题: adLDAP告诉我“用户身份验证失败”
问题:如果没有错误告诉我处理这个问题,我怎么知道我需要做什么。
搜寻/尝试:
CODE:
require_once(dirname(__FILE__) . '/adLDAP.php');
$adldap = new adLDAP();
$username = "user";
// $username = "domain\user"; // I have also tried
$password = "pass";
$authUser = $adldap->authenticate($username, $password);
if ($authUser == true) {
echo "User authenticated successfully";
}
else {
echo "User authentication unsuccessful";
}
echo('<hr />');
$result=$adldap->user_info("jboyle");
print_r($result);
HTML OUTPUT:
User authentication unsuccessful
Fatal error: Call to undefined method adLDAP::user_info() in C:\xampp\htdocs\adLDAP\compare.php on line 18
答案 0 :(得分:1)
<强>替换强>
echo "User authentication unsuccessful";
与
echo "Username '{$username}' login failed: ".$adldap->getLastError();
<强>结果:强>
Username 'user' login failed: Can't contact LDAP server
信息/来源:
https://sourceforge.net/projects/adldap/forums/forum/358759/topic/1719128?message=4368835 http://adldap.sourceforge.net/wiki/doku.php?id=ldap_over_ssl#tell_apache_how_to_use_ldaps
执行phpinfo()并检查HOME变量在Apache环境中指向的位置。创建符号链接或将ldap.conf复制到此位置。
如果出现连接错误,可能是因为您的本地OpenSSL安装无法识别服务器提供的证书(或其权限)。这可以通过在服务器上的ldap.conf中添加以下行来规避:
更改TLS_REQCERT允许TLS_REQCERT永远不会
Apache必须能够读取ldap.conf,你不能跳过这一步。