將 Active Directory 與 PHP-LDAP 和 TLS 整合
==================================================
我的配置
Apache/2.2.14 (Win32) mod_ssl/2.2.14 OpenSSL/0.9.8k PHP/5.2.11
注意 1:目前,5.3.1 版本無法使用 tls
注意 2:此範例在 Windows 上有效,但在 Linux 上類似
1) 從網頁瀏覽器下載 X.509 憑證 (PEM 格式),我使用 Firefox。我將其命名為 webcert.crt
2) 建立資料夾 c:\openldap\sysconf
3) 將檔案 webcert.crt 複製到 c:\openldap\sysconf
4) 使用記事本,您必須建立檔案 c:\openldap\sysconf\ldap.conf。檔案內容
TLS_REQCERT never
TLS_CACERT c:\openldap\sysconf\webcert.crt
5) 程式碼
<?php
$ldap="ldap.myDomain.com";
$usr="user@myDomain.com";
$pwd="mypassword";
$ds=ldap_connect($ldap);
$ldapbind=false;
if(ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3))
if(ldap_set_option($ds, LDAP_OPT_REFERRALS, 0))
if(ldap_start_tls($ds))
$ldapbind = @ldap_bind($ds, $usr, $pwd);
ldap_close($ds);
if(!$ldapbind)
echo "ERROR";
else
echo "OK";
?>