速动画教程第二十九集
单点登录CAS的使用方法
下载地址: http://www.oksonic.cn
一.环境
a) Windows 2003 sp1
b) JDK_11
c) Tomcat
d) MySql5.0
二.准备
a) cas-server-.zip 下载地址:http://www.ja-sig.org/products/cas/index.html
b) cas-client-java-.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]:
您所在的州或省份名称是什么?
[Unknown]:
该单位的两字母国家代码是什么
[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文件,拷贝到
vii. 拷贝cas-server-.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文件,加入以下配置信息
edu.yale.its.tp.cas.client.filter.CASFilter
edu.yale.its.tp.cas.client.filter.loginUrl
edu.yale.its.tp.cas.client.filter.validateUrl
edu.yale.its.tp.cas.client.filter.serverName
拷贝cas-client-java-.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:
拷贝cas-server-jdbc-.jar和mysql-connector-java-3.1.11-bin.jar到webapps/cas/WEB-INF/lib下。