安裝信息:
我有兩個Windows服務器。一個(Windows Server 2008 R2)是具有Active Directory(AD)的域控制器(DC),其名稱爲s1.xyz.com。第二臺(Windows Server 2003 R2)服務器運行IIS,PHP.SSL證書安裝在第二臺服務器上。
無法綁定到與php安全連接的LDAP目錄
我已經安裝了DC服務器上的Active Directory證書服務使用以下鏈接作爲一個證書頒發機構(CA),並啓用LDAP通過SSL(LDAPS):
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 2012-01-12 13:39:30
重複http://stackoverflow.com/questions/5258556/problems-with-secure-bind-to-active-directory-using-php? – 2012-01-12 14:00:18