Junky's IT Notebook

          統(tǒng)計

          留言簿(8)

          積分與排名

          WebSphere Studio

          閱讀排行榜

          評論排行榜

          CAS及客戶端Acegi的安裝配置指南(上)

          作者:龍智 (Dragon)
          時間:2006-07-09

          CAS(Central Authentication Service)是耶魯大學開發(fā)的一個開源的SSO(single sign on,單點登錄)系統(tǒng)。它提供了豐富的客戶端庫,如Java, .NET, PHP, Perl等版本,使用這些庫用戶可以方便地給自己的應(yīng)用程序加上CAS支持。Acegi security system for Spring是Spring的一個子項目,它為Java EE開發(fā)者提供了一個易于使用的提供認證和授權(quán)服務(wù)的安全框架。Acegi支持CAS,也可看作是CAS的一個Java版的Client。

          以下詳細介紹如何配置CAS以及應(yīng)用程序,使其利用Acegi和CAS進行用戶的登錄和認證。我將以acegi-security-1.0.1發(fā)布包中附帶的acegi-security-sample-tutorial應(yīng)用為例,它使用DaoAuthenticationProvider對用戶進行認證,用戶帳號和權(quán)限信息保存在一個properties文件中,我將對其進行改造,改造之后,acegi-security-sample-tutorial使用CAS進行用戶認證,授權(quán)信息仍從該properties文件讀取,因為CAS只負責認證,不負責授權(quán),所以授權(quán)工作交由客戶端Acegi來完成,CAS的用戶源配置為數(shù)據(jù)庫,利用JDBC進行讀取。本文需要讀者對SSO和Acegi有一定的了解。

          一.準備工作下載并安裝Tomcat(<a target="_blank" rel="nofollow" >http://tomcat.apache.org/</a>),本文使用的版本是5.5.15;

          下載并安裝MySQL(http://www.mysql.com),本文使用的版本是5.0.16;
          下載CAS服務(wù)端(http://www.ja-sig.org/products/cas/),本文使用最新的3.0.5RC2;
          下載CAS-JDBC Adapter (http://developer.ja-sig.org/maven/ca ... ver-jdbc-3.0.5-rc2.jar);
          下載Acegi(http://acegisecurity.org/),本文使用的版本是1.0.1;

          二.安裝CAS 解壓縮cas-server-3.0.5-rc2.zip,拷貝target目錄中的cas.war到%CATALINA_HOME%/webapps下即可。運行Tomcat,訪問<a target="_blank" rel="nofollow" href="http://localhost:8080/cas">http://localhost:8080/cas</a>應(yīng)可看到CAS登錄界面。

          三.配置Tomcat支持SSL 由于CAS要求使用https和客戶端進行通信,所以需要配置Tomcat支持SSL,首先介紹如何制作自簽名證書以及將其導入到證書庫。

          1. keytool -keystore keystore -alias acegisecurity -genkey -keyalg RSA -validity 9999 -storepass password -keypass password
          What is your first and last name?

          [Unknown]: localhost

          其他隨便填寫即可。
          2. keytool -export -v -rfc -alias acegisecurity -file acegisecurity.txt -keystore keystore -storepass password
          3. copy acegisecurity.txt %JAVA_HOME%\jre\lib\security

          4. copy keystore %CATALINA_HOME %
          5. cd %JAVA_HOME%\jre\lib\security
          6. keytool -import -v -file acegisecurity.txt -keypass password -keystore cacerts -storepass changeit -alias acegisecurity

          接下來,用編輯器打開%CATALINA_HOME%/conf/server.xml,找到

          &lt;Connector port="8443" maxHttpHeaderSize="8192"

          maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

          enableLookups="false" disableUploadTimeout="true"

          acceptCount="100" scheme="https" secure="true"

          clientAuth="false" sslProtocol="TLS" /&gt;

          這一行默認是被注釋掉的,取消注釋,并加入keystoreFile="keystore" keystorePass="password"這兩個屬性,注意keystoreFile屬性可以使用keystore文件的絕對路徑,也可使用基于%CATALINA_HOME%環(huán)境變量的相對路徑,keystorePass是訪問keystore的密碼,應(yīng)和上面制作證書時設(shè)定的密碼保持一致。

          訪問https://localhost:8443,應(yīng)彈出一個對話框,告知用戶正要訪問的站點的證書不安全,是否接受,確認接受,應(yīng)可看到那只熟悉可愛的小貓。

          posted on 2007-05-22 11:09 junky 閱讀(535) 評論(1)  編輯  收藏 所屬分類: security

          評論

          # re: CAS及客戶端Acegi的安裝配置指南(上) 2008-06-09 20:23 adfa

          公司招學員(java),學費6000元,小班授課,詳情請登陸www.skyjava.com  回復  更多評論   

          主站蜘蛛池模板: 唐海县| 永兴县| 潼南县| 榆社县| 长白| 龙江县| 济源市| 浦北县| 沽源县| 阿克陶县| 哈密市| 麻城市| 临汾市| 横山县| 镇平县| 洮南市| 合阳县| 秀山| 玉田县| 松阳县| 红安县| 穆棱市| 正安县| 鹿邑县| 山阴县| 石首市| 郁南县| 韶山市| 西华县| 东乌珠穆沁旗| 临澧县| 阆中市| 高淳县| 桂林市| 河津市| 清流县| 锡林郭勒盟| 遂昌县| 调兵山市| 丰顺县| 临湘市|