我的公司使用AD進行使用者驗證,因此在使用者操作的便利性考量前提下.如何讓使用者不需要重覆輸入帳號與密碼,而直接抓取使用者已經登入AD的帳號資訊,已經變成系統開發必須要考量的項目之一 (至少我自己是這樣認為啦 @@)
.NET整合AD的資訊已經有大大實做成功並且實際運用於目前的系統上.由於都是微軟家族的產品,因此整合上比較容易.
但是目前公司存在有Apache+PHP+MySQL on Windows的架構,因此如何讓這樣的架構也可以快速的抓取使用者AD資訊是我今天要介紹的項目.
但是目前公司存在有Apache+PHP+MySQL on Windows的架構,因此如何讓這樣的架構也可以快速的抓取使用者AD資訊是我今天要介紹的項目.
[版本需求]
1. Apache 2.x 以上
2. PHP和MySQL都沒有特殊的版本要求,不過我還是建議安裝PHP 5.x和MySQL 4.1.x以上的版本
1. Apache 2.x 以上
2. PHP和MySQL都沒有特殊的版本要求,不過我還是建議安裝PHP 5.x和MySQL 4.1.x以上的版本
[安裝過程]
1. 將mod_auth_sspi.so (下載位址)放到path_to_apache/modules這個目錄下面
2. 在httpd.conf裡面加上下面兩段
(1) LoadModule sspi_auth_module modules/mod_auth_sspi.so
(2)在需要進行驗證的目錄設定加上下面的內容,並且將AllowOverride開啟
AuthName "A Protected Place"
AuthType SSPI
SSPIDomain tpe.compalcomm.com
SSPIAuth On
SSPIAuthoritative On
SSPIOfferBasic On
require valid-user
修改後應該會像這樣
Options Indexes FollowSymLinks
AllowOverride All
1. 將mod_auth_sspi.so (下載位址)放到path_to_apache/modules這個目錄下面
2. 在httpd.conf裡面加上下面兩段
(1) LoadModule sspi_auth_module modules/mod_auth_sspi.so
(2)在需要進行驗證的目錄設定加上下面的內容,並且將AllowOverride開啟
AuthName "A Protected Place"
AuthType SSPI
SSPIDomain tpe.compalcomm.com
SSPIAuth On
SSPIAuthoritative On
SSPIOfferBasic On
require valid-user
修改後應該會像這樣
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Allow from all
AuthName "A Protected Place"
AuthType SSPI
SSPIDomain tpe.compalcomm.com
SSPIAuth On
SSPIAuthoritative On
SSPIOfferBasic On
require valid-user
AuthType SSPI
SSPIDomain tpe.compalcomm.com
SSPIAuth On
SSPIAuthoritative On
SSPIOfferBasic On
require valid-user
3. 重新啟動Apache
[如何抓取使用者登入AD的帳號]
程式只有一行,真的只有一行.
$_SERVER["REMOTE_USER"] 就只需要這行就可以抓到使用者登入AD的帳號.
後面要怎麼達成one single signon,我相信各位程式高手都知道該怎麼做了,我就不獻醜了.
程式只有一行,真的只有一行.
$_SERVER["REMOTE_USER"] 就只需要這行就可以抓到使用者登入AD的帳號.
後面要怎麼達成one single signon,我相信各位程式高手都知道該怎麼做了,我就不獻醜了.
[如何抓取使用者在AD中的其他資訊]
我之前有找到一個adLDAP.php的class,只需要確定ldap_binding正常,
然後將剛剛抓到的使用者AD帳號傳進去,AD裡面所有的資訊全部都可以抓出來.
adLDAP http://adldap.sourceforge.net/
我之前有找到一個adLDAP.php的class,只需要確定ldap_binding正常,
然後將剛剛抓到的使用者AD帳號傳進去,AD裡面所有的資訊全部都可以抓出來.
adLDAP http://adldap.sourceforge.net/
沒有留言:
張貼留言