当adLDAP验证用户的结果是“用户身份验证不成功”

问题描述:

信息:我试图验证和adLDAP当adLDAP验证用户的结果是“用户身份验证不成功”

问题: adLDAP告诉我,“用户身份验证不成功”

问题:当没有错误告诉我什么处理这个时,我该如何找出我需要做的事情。

搜寻过/尝试:

  1. http://adldap.sourceforge.net/faq.php
  2. stackoverflow.com/questions/2465260/using-adldap-php-class-but-getting-error-when-looking-for-group-用户所属到
  3. adldap.sourceforge.net/wiki/doku.php?id=documentation_examples#authenticating_a_user
  4. http://phreek.org/blog/2011/12/enable-php-ldap-module-in-xampp

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输出:

User authentication unsuccessful 

Fatal error: Call to undefined method adLDAP::user_info() in C:\xampp\htdocs\adLDAP\compare.php on line 18 
+1

这不是adLDAP告诉你“用户身份验证不成功”,它是你的代码。检查adLDAP可以告诉你运行'$ adldap-> get_last_error();' – 2012-04-27 20:34:57

+0

我可以看到你会这么想,我想这周末我发现了一些事情。我会很快发布答案。更具体地说,“$ adldap-> authenticate”返回false,我不知道为什么。 – Ac0ua 2012-04-30 13:29:44

替换:

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从未

阿帕奇必须能够读取ldap.conf的,你不能跳过此步骤。