Junky's IT Notebook

统计

留言簿(8)

积分与排名

WebSphere Studio

阅读排行榜

评论排行榜

CAS及客户端Acegi的安装配置指南(上)

作者:龙智 (Dragon)
时间:2006-07-09

CAS(Central Authentication Service)是耶鲁大学开发的一个开源的SSO(single sign on,单点登录)系统。它提供了丰富的客户端库,如Java, .NET, PHP, Perl等版本,使用这些库用户可以方便地给自己的应用程序加上CAS支持。Acegi security system for Spring是Spring的一个子项目,它为Java EE开发者提供了一个易于使用的提供认证和授权服务的安全框架。Acegi支持CAS,也可看作是CAS的一个Java版的Client。

以下详细介绍如何配置CAS以及应用程序,使其利用Acegi和CAS进行用户的登录和认证。我将以acegi-security-1.0.1发布包中附带的acegi-security-sample-tutorial应用为例,它使用DaoAuthenticationProvider对用户进行认证,用户帐号和权限信息保存在一个properties文件中,我将对其进行改造,改造之后,acegi-security-sample-tutorial使用CAS进行用户认证,授权信息仍从该properties文件读取,因为CAS只负责认证,不负责授权,所以授权工作交由客户端Acegi来完成,CAS的用户源配置为数据库,利用JDBC进行读取。本文需要读者对SSO和Acegi有一定的了解。

一.准备工作下载并安装Tomcat(<a target="_blank" rel="nofollow" href="http://tomcat.apache.org/">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%环境变量的相对路径,keystorePass是访问keystore的密码,应和上面制作证书时设定的密码保持一致。

访问https://localhost:8443,应弹出一个对话框,告知用户正要访问的站点的证书不安全,是否接受,确认接受,应可看到那只熟悉可爱的小猫。

posted on 2007-05-22 11:09 junky 阅读(519) 评论(1)  编辑  收藏 所属分类: security

评论

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

公司招学员(java),学费6000元,小班授课,详情请登陆www.skyjava.com  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: