CAS单点登录服务器的部署以及使用
一. 准备CAS服务器端和客户端
1. Windows下
a) cas服务器端压缩包cas-server-3.4.12-release.zip
b) cas客户端压缩包 cas-client-3.2.1-release.zip
有下载/
2. linux下
a) cas服务器端压缩包cas-server-3.4.
b) cas客户端压缩包cas-client-3.2.
有下载/
二. 准备架包
Oracle数据库驱动架包ojdbc6.jar
三. 安装CAS
1. 重新安装一个服务器,如tomcat。
2. 部署CAS项目
a) 解压缩cas-server-3.4.12-release.(/zip),进入解压后的cas-server-3.4.12-release目录下的modules中,取出cas-server-webapp-3.4.12.war,放入新安装的tomcat目录下的webapp下,修改war包的名字为cas.war,启动tomcat,将cas.war解压到webapp下 ,然后关闭服务器
3. CAS服务器端证书相关操作。
a) 生成服务器端证书
Linux下命令:
keytool -genkey -alias mycas -keyalg RSA -keystore /home/XXX/cas/key/mycas.keystore
windows下命令:
keytool -genkey -alias mycas -keyalg RSA -keystore D\cas\key\mycas.keystore
有效期默认是三个月,若需要修改,增加一个参数,-validity,单位:天
b) 导出证书
Linux下命令:
keytool -export -trustcacerts -file /home/XXX/cas/ -alias mycas -keystore /home/XXX/cas/key/mycas.keystore
c) 导入证书到客户端JDK
Linux下命令:
keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -file /home/XXX/cas/ -alias mycas -storepass changeit
windows下命令:
keytool -import -trustcacerts -keystore %JAVA_HOME\jre\lib\security\cacerts -file D:\cas\key\ -alias mycas -storepass changeit
d) 如果生成失败,请删除证书,重新导入
删除证书文件 cas/key下的两个文件后执行将证书从jdk中移除,移除JDK中的证书命令
Linux下命令:
keytool -delete -alias mycas -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit
window下命令:
--移除JDK中的证书
keytool -delete -alias mycas -keystore %JAVA_HOME\jre\lib\security\cacerts -storepass changeit
e) 生成jssecacerts文件
下载InstallCert.java这个java源文件
网址: www.oschina/code/snippet_12_4092
在命令行中编译,然后执行java文件
javac InstallCert.java
java InstallCert localhost:8080
将生成的jssecacerts文件复制到
$JAVA_HOME\jre\lib\security 目录下
f) 开启服务器端Tomcat的SSL
jdbc连接oracleg) 重启电脑登陆测试服务器端,地址为localhost:8845/cas,登录用户名密码相同
h) 查看证书
keytool -list -keystore /home/ligang/jdk1.6.0_26/jre/lib/security/cacerts -storepass changeit
4. 修改CAS服务器配置,使其可以与项目结合
a) 进入解压出来的cas目录的WEB-INF下,
b) 将cas-server-3.4.12-release\modules下的cas-server-support-jdbc-3.4.12.jar和ojdbc6.jar复制到WEB-INF\lib下
c) 使用编辑工具打开l
d) 有三种登录配置,默认是SimpleTestUsernamePasswordAuthenticationHandler,用户名密码相同即可,QueryDatabaseAuthenticationHandler采用在配置文件中指定SQL语句的方式,SearchModeSearchDatabaseAuthenticationHandler是可以在类中写方法的方式。
e) 到authenticationManager这个bean下的<property name="authenticationHandlers">节点,注释掉其中SimpleTestUsernamePasswordAuthenticationHandler配置。
然后重新配置为
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="dataSource" ref="casDataSource" />
<property name="sql" value="select mu.pswd from m_users mu,m_employee me p_name = ? and me.user_id = mu.user_id" />
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论