速动画教程第二十九集
单点登录cas的使用方法
下载地址:
一.环境
a) windows 2003 sp1
b) jdk1.5.0_11
c) tomcat 5.5.23
d) mysql5.0
二.准备
a) cas-server-3.0.6.zip 下载地址:http://www.ja-sig.org/products/cas/index.html
b) cas-client-java-2.1.1.zip 下载地址:同上
c) 安装完jdk和jre后,需要配置java_home和path=%java_home%\bin
三.步骤
a) 配置tomcat使用ssl安全认证
i. 使用命令提示符进入到tomcat安装目录
ii. 生成服务端密匙,执行以下命令
keytool -genkey -alias 别名keyalg rsa -keypass changeit -storepass changeit -keystore server.keystore
例:keytool -genkey -alias casserver -keyalg rsa -keypass changeit -storepass changeit -keystore server.keystore
运行后出现提示信息:
输入keystore密码:changeit 这里也填入主机名
您的名字与姓氏是什么?
[unknown]: localhost 这里一定要填写正确的主机名
您的组织单位名称是什么?
[unknown]: oksonic
您的组织名称是什么?
[unknown]: oksonic
您所在的城市或区域名称是什么?
[unknown]: kunming
您所在的州或省份名称是什么?
[unknown]: yunnan
该单位的两字母国家代码是什么
[unknown]: cn
cn=localhost, ou=oksonic, o=oksonic, l=kunming, st=yunnan, c=cn 正确吗?
[否]: y
完成后会在tomcat目录生成一个名为casserver的文件
iii. 生成服务端证书,执行以下命令
keytool -export -alias casserver -storepass changeit -file server.cer -keystore server.keystore
命令执行后生成一个server.cer的证书文件
iv. 生成客户端密匙,执行以下命令
keytool -genkey -alias casclient -keyalg rsa -keypass changeit -storepass changeit -keystore client.keystore
v. 生成客户端证书,执行以下命令
keytool -export -alias casclient -storepass changeit -file client.cer -keystore client.keystore
命令执行后生成一个server.cer的证书文件
vi. 导入证书文件到cacerts文件中,执行以下命令
keytool -import -trustcacerts -alias server -file server.cer -keystore cacerts -storepass changeit
keytool -import -trustcacerts -alias client -file client.cer -keystore cacerts -storepass changeit
把cacerts文件,拷贝到\jre\lib\security目录下
vii. 拷贝cas-server-3.0.6.zip包内的target目录下的cas.war文件到tomcat目录下的webapps目录下
viii. 修改tomcat的配置文件server.xml把以下补注释的内容打开
maxthreads="150" minsparethreads="25" maxsparethreads="75"
enablelookups="false" disableuploadtimeout="true"
acceptcount="100" scheme="https" secure="true"
clientauth="false" sslprotocol="tls" />
加入红字部份后的内容如下:
keystorepass="changeit" keystorefile="/server.keystore"
maxthreads="150" minsparethreads="25" maxsparethreads="75"
enablelookups="false" disableuploadtimeout="true"
acceptcount="100" scheme="https" secure="true"
clientauth="false" sslprotocol="tls" />
b) 配置客户端应用
i. 使用tomcat的例子jsp-examples来做客户端
ii. 打开项目中的web.xml文件,加入以下配置信息
casfilter
edu.yale.its.tp.cas.client.filter.casfilter
edu.yale.its.tp.cas.client.filter.loginurl
https://localhost:8443/cas/login
edu.yale.its.tp.cas.client.filter.validateurl
edu.yale.its.tp.cas.client.filter.servername
localhost:8080
casfilter
/ *
拷贝cas-client-java-2.1.1.zip包中的casclient.jar到项目的lib目录下
现在可以启动tomcat来测试一下是否能够进入到登录页
c) 配置cas使用数据库进行验证
i. 在mysql中的test库中新建app_user表
create table `app_user` (
`username` varchar(30) not null default '',
`password` varchar(45) not null default '',
primary key (`username`)
) engine=innodb default charset=utf8;
添加以下用户:
insert into `app_user` (`username`,`password`) values
('oksonic','oksonic'),
('oksonic1','oksonic1');
ii. 修改cas项目中的deployerconfigcontext.xml文件
注释掉该行,在其下加入:
并添加一个bean:
com.mysql.jdbc.driver
jdbc:mysql://localhost:3306/test
test
test
拷贝cas-server-jdbc-3.0.6.jar和mysql-connector-java-3.1.11-bin.jar到webapps/cas/web-inf/lib下。