一、CAS服务的下载
CAS可以通过两种方式来下载。第一种方式是使用cas overlay template模板自行构建,这种方式适合需要在官方cas的基础上进行二次开发的情况;第二种方式是导入已经构建好的war包,适用于需要快速部署,不需要定制化开发的情况。以下是下载方式:
- CAS Overlay Template:CAS Overlay Template Github仓库
- CAS WAR包:CAS Maven仓库
由于是本地部署,并且暂时没有定制化开发的需求,所以在此采用CAS WAR包进行部署。打开CAS的Maven仓库,选择需要的版本。由于目前生产环境使用的是Java 8,所以本次我选择下载5.3.x版本的war。

二、CAS的简单部署
下载完成之后,部署到Tomcat服务器中就可以了。将war包解压到tomcat服务器中的webapps目录下,我在webapps中新建了一个cas目录,并且将war包解压到里面。解压完成之后,切换到tomcat中的bin目录下,执行如下指令,运行tomcat服务器。
.\catalina.bat

在浏览器中输入地址http://localhost:8080/cas,即可访问到本地部署的CAS服务。测试可以使用CAS默认的账户密码,即用户:casuser,密码:Mellon来测试登录功能。可以看到,CAS提示登录成功,说明我们完成了CAS简单的本地部署。

三、CAS的配置
1.配置数据库数据源
配置数据库数据源之前,需要下载四个驱动:
- mysql-connector-java:mysql-connector-java Maven仓库
- cas-server-support-jdbc-authentication:cas-server-support-jdbc-authentication Maven仓库
- cas-server-support-jdbc:cas-server-support-jdbc Maven仓库
- cas-server-support-jdbc-drivers:cas-server-support-jdbc-drivers Maven仓库
这四个驱动下载完成之后,放入cas的.\WEB-INF\lib目录下。随后,打开.\WEB-INF\classes\application.properties,添加cas连接数据库的参数。
# 注释掉默认的账户密码 # cas.authn.accept.users=casuser::Mellon cas.authn.jdbc.query[0].url=# 填写数据库连接URL cas.authn.jdbc.query[0].user=# 填写数据库用户 cas.authn.jdbc.query[0].password=# 填写数据库密码 cas.authn.jdbc.query[0].sql=# 查询用户账户密码等信息的sql语句 cas.authn.jdbc.query[0].fieldPassword=# 填写密码字段名 cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
完成配置后保存配置文件,重启Tomcat服务器,打开cas页面输入数据库中的账户密码进行测试,可以看到成功地进行了登录:

2.MD5加密策略配置
对于正常的生产环境来说,密码肯定是不能明文保存传输的。所以应该在CAS中配置加密策略。打开CAS的配置文件,添加以下的配置进行加密的处理:
cas.authn.jdbc.query[0].passwordEncoder.type=DEFAULT cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8 #MD5加密策略 cas.authn.jdbc.query[0].passwordEncoder.encodingAlgorithm=MD5