作者:摩羯参议院1314 | 来源:互联网 | 2014-09-19 16:33
无https验证的CAS单点登录配置一、下载开发环境CAS服务器:cas-server-3.4.10-release.zipCAS客户端:cas-client-3.2.1-release.zip 二、部署CAS服务器解压cas-server-3.4.10-release.zip将modules目录下的cas-
无https验证的CAS单点登录配置
一、下载开发环境
CAS服务器:cas-server-3.4.10-release.zip
CAS客户端:cas-client-3.2.1-release.zip
二、部署CAS服务器
解压cas-server-3.4.10-release.zip将modules目录下的cas-server-webapp-3.4.10.war改名称为cas.war复制到tomcat的webapps下,启动tomcat,访问:http://localhost:8080/cas/login 就可以看到登录界面了:
CAS服务端默认采用的是用户名=密码的验证,并且采用的是https验证,需要给tomact配置证书,本文配置没有采用https验证,若采用https验证可参考:
http://www.cnblogs.com/shipengzhi/articles/2628849.html
http://www.cnblogs.com/dycg/archive/2013/04/04/2999012.html
2.1服务器配置
2.1.1 登录验证
本文将原来的简单验证方式,更改为数据库验证用户名密码,具体操作如下所示。
1. 添加2个需要的jar包
复制cas-server-3.4.10-release.zip\cas-server-3.4.10\modules下的
cas-server-support-jdbc-3.4.10.jar以及mysql数据库的
mysql-connector-java-x.x.x-bin.jar到cas/WEB-INF/lib目录下
2 修改文件:cas\WEB-INF\deployerConfigContext.xml
新增dataSource和MD5PasswordEncoder两个bean如下所示:
MD5
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/test
root
root
上面我采用mysql数据库,若数据库不同,请自行更换数据库链接方式。
3. 修改文件:cas\WEB-INF\deployerConfigContext.xml
将上面的bean替换成如下数据库验证bean
就完成数据库验证操作了,此处采用MD5加密验证,密码全部为小写字母。
2.1.2 用户登出
服务器端退出访问:http://localhost:8080/cas/logout
若希望退出后能返回操作则要配置服务端cas\WEB-INF\cas-servlet.xml
增加属性 p:followServiceRedirects="true"
退出链接为:
http://localhost:8080/cas/logout?service=http://localhost:8080/client/index.jsp
2.1.3 禁https验证
本文配置是基于http协议的CAS,不采用https验证。
1. 修改文件:cas\WEB-INF\deployerConfigContext.xml
增加参数p:requireSecure="false",是否需要安全验证,即HTTPS,false为不采用,加上去之后如下:
2. 修改文件:cas\WEB-INF\spring-configuration\ ticketGrantingTicketCOOKIEGenerator.xml
将p:COOKIESecure="true"更改为false, TRUE为采用HTTPS验证,FALSE为不采用https验证。修改后如下所示:
参数p:COOKIESecure="true",同理为HTTPS验证相关,TRUE为采用HTTPS验证,FALSE为不采用https验证。
参数p:COOKIEMaxAge="-1",简单说是COOKIE的最大生命周期,-1为无生命周期,即只在当前打开的IE窗口有效,IE关闭或重新打开其它窗口,仍会要求验证。可以根据需要修改为大于0的数字,比如3600等,意思是在3600秒内,打开任意IE窗口,都不需要验证。
三、CAS客户端配置