Cas服务端5.3 基于MySQL8数据库,实现用户认证

符号 阅读:739 2021-03-31 18:14:23 评论:0

第一步: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 服务端登入界面,输入正确用户名和密码,返回相关数据结果:

标签:mysql
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号