Junky's IT Notebook

          導航

          <2007年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          隨筆分類(224)

          文章分類(5)

          隨筆檔案(228)

          文章檔案(7)

          統(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等版本,使用這些庫用戶可以方便地給自己的應用程序加上CAS支持。Acegi security system for Spring是Spring的一個子項目,它為Java EE開發(fā)者提供了一個易于使用的提供認證和授權服務的安全框架。Acegi支持CAS,也可看作是CAS的一個Java版的Client。

          以下詳細介紹如何配置CAS以及應用程序,使其利用Acegi和CAS進行用戶的登錄和認證。我將以acegi-security-1.0.1發(fā)布包中附帶的acegi-security-sample-tutorial應用為例,它使用DaoAuthenticationProvider對用戶進行認證,用戶帳號和權限信息保存在一個properties文件中,我將對其進行改造,改造之后,acegi-security-sample-tutorial使用CAS進行用戶認證,授權信息仍從該properties文件讀取,因為CAS只負責認證,不負責授權,所以授權工作交由客戶端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服務端(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>應可看到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的密碼,應和上面制作證書時設定的密碼保持一致。

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

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

          評論

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

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

          主站蜘蛛池模板: 阳曲县| 西乌珠穆沁旗| 邯郸县| 启东市| 栖霞市| 贵南县| 鹤庆县| 迁西县| 文安县| 安义县| 天峨县| 紫金县| 平凉市| 宜兴市| 黄浦区| 潮州市| 海晏县| 涪陵区| 广元市| 德兴市| 同江市| 北辰区| 比如县| 福安市| 墨江| 濮阳市| 乌拉特中旗| 莎车县| 禹州市| 杭锦旗| 临湘市| 通辽市| 宿松县| 凤凰县| 紫阳县| 彭水| 乌审旗| 江西省| 利辛县| 辉县市| 阜南县|