0

信息:我正在尝试验证和 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-user-belongs-to
  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

代码:

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
4

1 回答 1

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,您不能跳过此步骤。

于 2012-04-30T13:30:11.617 回答