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()を実行し、Apache環境でHOME変数が指す場所を確認します。シンボリックリンクを作成するか、ldap.confをこの場所にコピーします。

接続エラーが発生した場合は、ローカルのOpenSSLインストールがサーバーから提供された証明書(またはその権限)を認識していないことが原因である可能性があります。これは、サーバーなどのldap.confに次の行を追加することで回避できます。

TLS_REQCERT許可をTLS_REQCERTに変更しない

Apacheはldap.confを読み取ることができる必要があり、この手順をスキップすることはできません。

于 2012-04-30T13:30:11.617 に答える