Cas服务端5.3 基于MySQL8数据库,实现用户认证
第一步:Cas 服务端添加数据库认证依赖jar 文件:
找到下图所示代码端:
添加如下依赖jar包:
<!--数据库认证相关 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-->
继续找到下段代码,如下图:
在<properties>和</properties>中加入mysql 版本信息:
<mysql.driver.version>8.0.13</mysql.driver.version>
第二步:重新编译Cas服务端代码
window CMD窗口指令切换至cas5.3.zip 解压文件目录,执行如下指令:mvn install
第三步:cas 用户认证配置和mysql 相关文件
3.1 创建用户表,并初始化用户信息:
DROP TABLE IF EXISTS `u_user`;
CREATE TABLE `u_user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`nickname` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户昵称',
`email` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '邮箱|登录帐号',
`pswd` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL 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
) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of u_user
-- ----------------------------
INSERT INTO `u_user` VALUES (1, 'admin', 'admin@163.com', '1', '2019-04-27 22:44:44', NULL, 1);
3.2 切换至C:\tomcat\apache-tomcat-8.0.47\webapps\cas\WEB-INF\classes目录的application.properties将用户认证配置cas.authn.accept.users=casuser::Mellon注释掉,再加入以下内容
##
# CAS Authentication Credentials
#
cas.authn.jdbc.query[0].url=jdbc:mysql://192.168.1.73:3306/boot-security?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
cas.authn.jdbc.query[0].user=root
cas.authn.jdbc.query[0].password=digipower
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
第四步:访问http://localhost:9100/cas/index,跳转至CAS 服务端登入界面,输入正确用户名和密码,返回相关数据结果:
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。