1

PHP 5 LDAP ライブラリを使用するのは初めてで、少し混乱しています。誰かが私に次のことについていくつかの説明を与えてくれれば、私はとても幸せです:

まず、私の設定を教えてください:

LDAP サーバー: Windows Server 2013 Active Directory

ホスト名: winad

ドメイン: domain.local

IP: 1.1.1.1 (説明のため)

バインドに使用する Windows アカウント:管理者

開発マシンからのpingホスト名の動作

開発マシンから ping ip が機能する

開発マシンからの ping winad.domain.local が失敗する

開発環境: Windows 8 Professional with WAMP

PHP: 5.3.13

PHP LDAP モジュールがロードされ、機能しています

Apache LDAP モジュールがロードされていません

シナリオ:

最初に、管理者アカウントを使用して Windows AD に対してユーザーを認証しようとしています。これが私のコードのサンプルです:

以下のさまざまなシナリオでこれらの変数を使用します。

$hostname = "winad";
$dnex= "uid=Administrator, ou=Users, dc=domain, dc=local";

動作するコード:

$conn = ldap_connect($hostname);
$bind = ldap_bind($conn, "DOMAIN\Administrator", "password");

失敗するコード:

$conn = ldap_connect($hostname);
$bind = ldap_bind($conn, $dnex, "password");

エラー: 資格情報が無効です

今私の質問は、dn を指定すると失敗するのはなぜですか?

location1.domain.local と location2.domain.local があり、location2 のみにバインドしたい場合、dn を指定しないとできないようです。

誰かが進むべき正しい方法を示すことができますか?

4

1 に答える 1

1

さらに検索したところ、次の投稿を見つけました。

PHP LDAP 接続

AlexC からの応答は、私の質問に正しく答えました。

これが役に立てば幸いです。

于 2013-06-30T21:17:37.980 に答える