インストール情報:
私は2つのWindowsサーバを持っています。 1つ(Windows Server 2008 R2)は、Active Directory(AD)を持つドメインコントローラ(DC)です。名前はs1.xyz.comです。 2番目の(Windows Server 2003 R2)サーバーはIISを実行しており、PHP.SSL証明書は2番目のサーバーにインストールされています。
は、LDAPディレクトリにバインドできません
私は、認証局(CA)として機能し、また、下のリンクを使用してSSL(LDAPS)上でLDAPを有効にするには、DCサーバーにActive Directory証明書サービスをインストールしました:
http://www.christowles.com/2010/11/enable-ldap-over-ssl-ldaps-on-windows.html
問題は何ですか。
実際には、ADユーザーのパスワードを設定したいので、私の要件はセキュリティ接続(LDAPS)です。 セキュリティで保護されていないポート(389)のDCに接続してADデータにアクセスできますが、 PHP ldap_bind()関数を使用して、セキュリティで保護された接続(ポート636)でユーザーをバインドできません。 スクリプトを実行すると、「ldap_bind()[function.ldap-bind]:サーバーにバインドできません:LDAPサーバーに接続できません」というエラーが表示されます。
コード:
$ip="xxx.xxx.xxx.xx";
$ldaps_url="ldaps://s1.xyz.com:636/";
$ldap_url="s1.xyz.com";
$ldapUsername ="[email protected]";
$ldapPassword="x1y1z1";
$ds=ldap_connect($ldaps_url);
//$ds=ldap_connect($ip,636);
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION,3);
ldap_set_option($ds, LDAP_OPT_REFERRALS,0);
$bth=ldap_bind($ds, $ldapUsername, $ldapPassword);
ldap_unbind($ds);
$ds="";
DCがこのポートを開いていますか?それが応答するならtelnet s1.xyz.com 636を試してください。 – rkosegi
http://stackoverflow.com/questions/5258556/problems-with-secure-bind-to-active-directory-using-phpの重複はありますか? –