Apache 整合 Acitve Directory 達成 one single signon
2014-05-11 19:10
351 查看
原文地址:http://blog.hsdn.net/1266.html
我的公司使用AD進行使用者驗證,因此在使用者操作的便利性考量前提下.如何讓使用者不需要重覆輸入帳號與密碼,而直接抓取使用者已經登入AD的帳號資訊,已經變成系統開發必須要考量的項目之一 (至少我自己是這樣認為啦 @@)
.NET整合AD的資訊已經有大大實做成功並且實際運用於目前的系統上.由於都是微軟家族的產品,因此整合上比較容易.
但是目前公司存在有Apache+PHP+MySQL on Windows的架構,因此如何讓這樣的架構也可以快速的抓取使用者AD資訊是我今天要介紹的項目.
[版本需求]
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
修改後應該會像這樣
<Directory "D:/Develop/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
AuthName "A Protected Place"
AuthType SSPI
SSPIDomain tpe.compalcomm.com
SSPIAuth On
SSPIAuthoritative On
SSPIOfferBasic On
require valid-user
</Directory>
3. 重新啟動Apache
[如何抓取使用者登入AD的帳號]
程式只有一行,真的只有一行.
$_SERVER["REMOTE_USER"] 就只需要這行就可以抓到使用者登入AD的帳號.
後面要怎麼達成one single signon,我相信各位程式高手都知道該怎麼做了,我就不獻醜了.
[如何抓取使用者在AD中的其他資訊]
我之前有找到一個adLDAP.php的class,只需要確定ldap_binding正常,
然後將剛剛抓到的使用者AD帳號傳進去,AD裡面所有的資訊全部都可以抓出來.
adLDAP http://adldap.sourceforge.net/
我的公司使用AD進行使用者驗證,因此在使用者操作的便利性考量前提下.如何讓使用者不需要重覆輸入帳號與密碼,而直接抓取使用者已經登入AD的帳號資訊,已經變成系統開發必須要考量的項目之一 (至少我自己是這樣認為啦 @@)
.NET整合AD的資訊已經有大大實做成功並且實際運用於目前的系統上.由於都是微軟家族的產品,因此整合上比較容易.
但是目前公司存在有Apache+PHP+MySQL on Windows的架構,因此如何讓這樣的架構也可以快速的抓取使用者AD資訊是我今天要介紹的項目.
[版本需求]
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
修改後應該會像這樣
<Directory "D:/Develop/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
AuthName "A Protected Place"
AuthType SSPI
SSPIDomain tpe.compalcomm.com
SSPIAuth On
SSPIAuthoritative On
SSPIOfferBasic On
require valid-user
</Directory>
3. 重新啟動Apache
[如何抓取使用者登入AD的帳號]
程式只有一行,真的只有一行.
$_SERVER["REMOTE_USER"] 就只需要這行就可以抓到使用者登入AD的帳號.
後面要怎麼達成one single signon,我相信各位程式高手都知道該怎麼做了,我就不獻醜了.
[如何抓取使用者在AD中的其他資訊]
我之前有找到一個adLDAP.php的class,只需要確定ldap_binding正常,
然後將剛剛抓到的使用者AD帳號傳進去,AD裡面所有的資訊全部都可以抓出來.
adLDAP http://adldap.sourceforge.net/
相关文章推荐
- 图形界面的Acitve Directory回收站解决方案
- Everything in AcitveDirectory
- 整合apache2.2.11和tomcat6
- 通向架构师的道路(第一天)之Apache整合Tomcat
- 重建硬连接(hard link)Will not restore a file with more than one hard link (/etc/resolv.conf) No such file or directory
- Linux + SVN + Apache 安装与整合
- APACHE安装 cannot install libaprutil-1.la to adirectory
- apache2.2 + tomcat6 整合以及集群配置整理
- Apache Maven与Eclipse整合简易教程
- apache整合tomcat
- 配置了APACHE和TOMCAT整合后,firefox中的window.parent.document不能用(http_proxy的端口问题)
- tomcat整合apache
- java.lang.ClassNotFoundException: org.apache.lucene.store.Directory
- Apache2.2 & Tomcat6.×整合方案
- Jsp和PHP共用80端口,整合Apache和Tomcat
- redmine 整合apache
- Apache与Tomcat的整合配置方式
- Apache Shiro与web整合
- SpringMVC+Apache Shiro+JPA(hibernate)案例教学(一)整合配置
- [乐意黎]Apache重启后抛order takes one argument, 'allow,deny', 'deny,allow', or 'mutual-failure'