参考博客
https://blog.youkuaiyun.com/u012586326/article/details/122195507
CAS Server 搭建
CAS 官方提供了一种使用 Apereo CAS WAR Overlay Template 的方式(开发人员通过 克隆模板仓库https://github.com/apereo/cas-overlay-template ,修改Maven/Gradle配置引入官方发布War包依赖,构建时将变更的文件更新到新的War中)简化了开发人员二次开发复杂性,提高了开发效率。
对于简单部署一个CAS 服务端,就可以直接下载 Maven 仓库中的War包进行部署,本文亦使用此方法部署 5.3.16 版本的CAS 服务端。如需定制开发,请使用官方模板仓库进行开发
下载Maven仓库War包
下载Tomcat
CAS版本是5.0以上的要下载Tomcat8.0版本以上的
https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.56/bin/
使用 Tomcat 9 部署 CAS server
将Tomcat 9 安装包 与 CAS war包上传到Linux服务器,本文上传到 /cas 目录下。省略 JDK 安装步骤。
#解压tomcat
tar zxf apache-tomcat-9.0.56.tar.gz
#解压CAS War包到 tomcat 部署目录下
unzip -q cas-server-webapp-tomcat-5.3.16.war -d apache-tomcat-9.0.56/webapps/cas
#启动tomcat
cd apache-tomcat-9.0.56/bin
./startup.sh
#查看日志
cd ..
tail -f logs/catalina.out
出现Ready后,Ctrl+C停止日志输出控制台,访问服务器IP:8080,查看tomcat是否启动成功
访问 Cas Server,服务器IP:8080/cas
默认用户名与密码在配置文件application.properties中(CAS 服务端是用SpringBoot实现的)
#打开配置文件
vim /opt/apache-tomcat-9.0.56/webapps/cas/WEB-INF/classes/application.properties
#Shift + G 跳转到最后,能看到casuser是用户名,Mellon是密码
调整 CAS 服务端配置
重启 tomcat 就可以使用应用服务进行单点登录测试了。
Tomcat配置HTTPS
CAS 服务器集成MySQL8数据库
MySQL 相关准备
1、安装MySQL8 并安装相关数据库实例
省略一千字***
2.创建用户表
CAS会从数据库中查询用户名、密码、电子邮件、电话号码4个字段,可以使用以下SQL语句创建。
create table cas_user (
id int NOT NULL AUTO_INCREMENT,
username varchar(255),
password varchar(255),
email varchar(255),
phone varchar(255),
PRIMARY KEY(id)
);
CAS添加Mysql8驱动
<!--数据库认证相关 start -->
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-jdbc</artifactId>
<version>${cas.version}</version>
</dependency>
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-jdbc-drivers</artifactId>
<version>${cas.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.driver.version}</version>
</dependency>
<!--数据库认证相关 end -->
可以新建一个项目把全部的依赖导出来
在idea中使用以下命令把全部依赖导到target目录下
mvn dependency:copy dependencise
把全部的依赖jar包上传到lib目录下
修改CAS5.3之application.properties配置
打开/home/cas/apache-tomcat-8.5.98/webapps/cas/WEB-INF/classes
/application.properties文件
1.注释默认账户
##
# CAS Authentication Credentials
#
#cas.authn.accept.users=casuser::Mellon
2.增加MySQL用户查询配置
##
# CAS Authentication Credentials
#
#cas.authn.accept.users=casuser::Mellon
cas.authn.jdbc.query[0].url=jdbc:mysql://123.0.0.1:3306/ucas?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
cas.authn.jdbc.query[0].user=root
cas.authn.jdbc.query[0].password=123456
cas.authn.jdbc.query[0].sql=select * from ucas_auth_user where user_pin =?
cas.authn.jdbc.query[0].fieldPassword=password
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
cas.authn.jdbc.query[0].dialect=org.hibernate.dialect.MySQLDialect
#加密策略
#采用MD5加密
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
重新启动Tomcat
输入MySQL8 表中的用户名admin,密码123456(使用MD5加密)点击登录
登录成功!
CAS Server集成Mysql搭建成功