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 を指定しないとできないようです。
誰かが進むべき正しい方法を示すことができますか?