tomcat8搭建cas的HTTP服务器,并使用MYSQL数据库的用户表
1. 环境准备
JDK: jdk1.8.0_31 (JDK8 都OK)
TOMCAT:apache-tomcat-8.5.51(TOMCAT8 都OK)
CAS:5.3.16(CAS 5.* 都OK)
下载地址:https://mvnrepository.com/artifact/org.apereo.cas/cas-server-webapp-tomcat/5.3.16
2. 环境部署
war 改名为cas.war
将war 包复制至tomcat的webapps目录中,启动tomcat第一次,tomcat将会解压war,启动完后关闭tomcat。
3. 配置修改
3.1 webapps\cas\WEB-INF\classes\application.properties修改
a. 增加以下两行配置
cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true
b. 注释以下三行配置
#server.ssl.key-store=file:/etc/cas/thekeystore
#server.ssl.key-store-password=changeit
#server.ssl.key-password=changeit
4. MySQL配置
4.1 JDBC支持
https://repo1.maven.org/maven2/org/apereo/cas/
cas-server-support-generic-5.3.1
cas-server-support-jdbc-5.3.1
cas-server-support-jdbc-authentication-5.3.1
cas-server-support-jdbc-drivers-5.3.1
下载jar 复制到 apache-tomcat-8.5.51\webapps\cas\WEB-INF\lib 目录下
4.2 MySQL驱动
https://mvnrepository.com/artifact/mysql/mysql-connector-java/6.0.6
下载jar 复制到 apache-tomcat-8.5.51\webapps\cas\WEB-INF\lib 目录下
4.3 数据准备
CREATE TABLE u_user (
id bigint(20) NOT NULL AUTO_INCREMENT,
nickname varchar(20) COMMENT '用户昵称',
email varchar(128) COMMENT '邮箱|登录帐号',
pswd varchar(32) COMMENT '密码',
create_time datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
last_login_time datetime(0) NULL DEFAULT NULL COMMENT '最后登录时间',
status bigint(1) NULL DEFAULT 1 COMMENT '1:有效,0:禁止登录',
PRIMARY KEY (`id`) USING BTREE
);
INSERT INTO u_user(nickname,email,pswd,create_time,last_login_time,status)
VALUES ( 'admin', 'admin@163.com', '1', '2019-04-27 22:44:44', NULL, 1);
4.4 配置文件修改
webapps\cas\WEB-INF\classes\application.properties
注释以下行
#cas.authn.accept.users=casuser::Mellon
增加以下行
cas.authn.jdbc.query[0].url=jdbc:mysql://127.0.0.1:3308/test?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
cas.authn.jdbc.query[0].user=root
cas.authn.jdbc.query[0].password=
cas.authn.jdbc.query[0].sql=select * from u_user where nickname = ?
cas.authn.jdbc.query[0].fieldPassword=pswd
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
以下为扩展配置
#指定过期字段,1为过期,若过期不可用
cas.authn.jdbc.query[0].fieldExpired=expired
#为不可用字段段,1为不可用,需要修改密码
cas.authn.jdbc.query[0].fieldDisabled=disabled
5 MD5加密验证配置
webapps\cas\WEB-INF\classes\application.properties,增加以下行
cas.authn.jdbc.query[0].passwordEncoder.type=DEFAULT
cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8
cas.authn.jdbc.query[0].passwordEncoder.encodingAlgorithm=MD5
自定义加密方式可以参考https://blog.csdn.net/yelllowcong/article/details/78812744