CAS 5.3使用MySQL数据库登录

2023-05-16

作者:张永利

一、本例环境说明

  • JDK 1.8
  • CAS 5.3
  • apache-maven-3.6.0
  • mysql-5.6.32

二、CAS 5.3基础环境搭建与验证

需要按照《CAS 5.3服务器搭建》搭建好环境,并使用系统默认用户名密码验证通过。

三、MySQL相关准备

3.1 创建MySQL数据库

(创建过程略)

3.2 新建user表,并增加2条记录

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `login_name` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `password` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `address` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  `role` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `login_name_un`(`login_name`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, '1', '1', '1', 'admin');
INSERT INTO `user` VALUES (2, '22', '22', '22', 'other');

SET FOREIGN_KEY_CHECKS = 1;

1)具体表结构如下

2)具体表内容如下

四、CAS配置MySQL相关信息

4.1 修改CAS的maven依赖

修改cas-overlay-template-5.3\pom.xml文件

1)properties节点中,新增MySQL驱动版本

<mysql.driver.version>5.1.49</mysql.driver.version>

注意:一定要先去查询是否有该版本,本文使用是的当前5系列最后一个版本5.1.49,查询地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java

2)cas-server-webapp${app.server}所在同级dependency节点中增加以下配置

<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>

4.2 修改CAS自定义application.properties配置

打开cas-overlay-template-5.3\src\main\resources\application.properties文件

1)注释静态验证的配置

2)增加MySQL配置

# 查询账号密码SQL,必须包含密码字段
cas.authn.jdbc.query[0].sql=select * from user where login_name=?
# 指定上面的SQL查询字段名(必须)
cas.authn.jdbc.query[0].fieldPassword=password
# 数据库连接
cas.authn.jdbc.query[0].url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8
# 数据库用户名
cas.authn.jdbc.query[0].user=root
# 数据库用户密码
cas.authn.jdbc.query[0].password=自己Mysql的密码
# 数据库驱动
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver

配置说明

1)cas.authn.jdbc.query[0].sql=select * from user where login_name=? 其中 user是mysql中的表名,login_name是用户名字段

2)cas.authn.jdbc.query[0].fieldPassword=password 其中password是user表中的密码字段

3)cas.authn.jdbc.query[0].url 数据库连接一定要修改成自己的数据库名称

4)cas.authn.jdbc.query[0].password 为自己MySQL密码

五、CAS验证

5.1 执行构建脚本

.\build.cmd run

5.2 看得到如下提示表示启动成功

5.3 浏览器访问CAS

http://localhost:8443/cas

5.4 输入MySQL user表中的用户名1,密码1点击登录

5.5 登录成功

至此,CAS结合MySQL验证搭建完成.

六、注意事项

6.1 如果登录提示"认证信息无效"

  1. 检查cas-overlay-template-5.3\pom.xml文件中是否额外添加了MySQL驱动
  2. 检查cas-overlay-template-5.3\src\main\resources\application.properties文件是否用户表写错,用户名密码写错等,具体请查看4.2中MySQL配置说明

6.2 附其它一些MySQL配置说明,以供参考

##
# application.properties
# MySQL 配置
#
# 查询账号密码SQL,必须包含密码字段
cas.authn.jdbc.query[0].sql=select * from user where login_name=?
# 指定上面的SQL查询字段名(必须)
cas.authn.jdbc.query[0].fieldPassword=password
# 指定过期字段,1为过期,若过期不可用
cas.authn.jdbc.query[0].fieldExpired=expired
# 为不可用字段段,1为不可用,需要修改密码
cas.authn.jdbc.query[0].fieldDisabled=disabled
# 数据库连接
cas.authn.jdbc.query[0].url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8
# 数据库dialect配置
cas.authn.jdbc.query[0].dialect=org.hibernate.dialect.MySQLDialect
# 数据库用户名
cas.authn.jdbc.query[0].user=root
# 数据库用户密码
cas.authn.jdbc.query[0].password=自己Mysql的密码
# 数据库事务自动提交
cas.authn.jdbc.query[0].autocommit=false
# 数据库驱动
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
# 超时配置
cas.authn.jdbc.query[0].idleTimeout=50000
# 默认加密策略,通过encodingAlgorithm来指定算法,默认NONE不加密
# NONE|DEFAULT|STANDARD|BCRYPT|SCRYPT|PBKDF2
cas.authn.jdbc.query[0].passwordEncoder.type=NONE
#cas.authn.jdbc.query[0].passwordEncoder.type=org.muses.jeeplatform.cas.authentication.encode.MD5PasswordEncoder
# 字符类型
cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8
# 加密算法
cas.authn.jdbc.query[0].passwordEncoder.encodingAlgorithm=MD5
# 加密盐
cas.authn.jdbc.query[0].passwordEncoder.secret=
# 加密字符长度
cas.authn.jdbc.query[0].passwordEncoder.strength=16
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CAS 5.3使用MySQL数据库登录 的相关文章

随机推荐

  • Java用自定义的类作为HashMap的key值

    这是Java中很经典的问题 xff0c 在面试中也经常被问起 其实很多书或者文章都提到过要重载hashCode 和equals 两个方法才能实现自定义键在HashMap中的查找 xff0c 但是为什么要这样以及如果不这样做会产生什么后果 x
  • Maven类包冲突终极三大解决技巧 mvn dependency:tree

    举例 A依赖于B及C xff0c 而B又依赖于X Y xff0c 而C依赖于X M xff0c 则A除引B及C的依赖包下 xff0c 还会引入X xff0c Y xff0c M的依赖包 xff08 一般情况下了 xff0c Maven可通过
  • idea中的实现接口时@Override注解问题

    摘要 用IntelliJ 15打开一个以前的工程 xff0c 发现代码出现很多关于 64 Override的错误 xff0c 编辑器提示 xff1a 64 Override is not allowed when implementing
  • mac下idea的使用之java工程打包生成jar篇

    我们先选中工程 xff0c 然后点如下的图标 xff0c 打开配置文件 xff0c 再选中artifacts选项 xff0c 再点加号选jar 起一个名字 xff0c 然后再填写好要打到的路径 xff0c 下面就是我们要选择我们需要的包或着
  • Memory Dependencies-内存依赖

    Data 2017 12 28 Author cjh Theme Memory Dependencies 本篇内容是基于TI TMS320C6000Programmer s Guide手册第2 2 2 Memory Dependencies
  • Python中获取异常(Exception)信息

    异常信息的获取对于程序的调试非常重要 xff0c 可以有助于快速定位有错误程序语句的位置 下面介绍几种python中获取异常信息的方法 xff0c 这里获取异常 xff08 Exception xff09 信息采用try except 程序
  • 聚类、K-Means、例子、细节

    聚类 今天说聚类 xff0c 但是必须要先理解聚类和分类的区别 xff0c 很多业务人员在日常分析时候不是很严谨 xff0c 混为一谈 xff0c 其实二者有本质的区别 分类其实是从特定的数据中挖掘模式 xff0c 作出判断的过程 比如Gm
  • CTR中的特征哈希

    在CTR预估中 xff0c 一种做法是采用人工来做feature engineering xff0c 将一些非线性的feature转换为线性的feature xff0c 然后喂给LR之类的线性model来做在线学习 xff0c 在这个过程中
  • go的一些基本知识

    go 编译 xff0c 依赖 GOPATH 找到src https blog csdn net u012210379 article details 50443636 go logging http www yeolar com note
  • 论文精读-DeepFM

    转载一篇博客文章 https blog csdn net zynash2 article details 79348540 DNN部分的详细推导见 xff1a https blog csdn net zynash2 article deta
  • 《玲音》

    这年头时兴谈互联网思维 xff0c 最近看了二十年前的一部动漫 玲音 xff0c 里面还真是有不少互联网思维 xff0c 以下剧透 xff1a 玲音是一个中学女生 xff0c 性格内向自闭 xff0c 一直过着平淡的生活 xff0c 与家庭
  • idea中安装activity插件actibpm,文章中有下载链接

    我的个人网站 等不见天亮等时光 插件的安装路径有这么几种 从idea setting plugin 选择商店 在商店中直接输入actibpm 可以直接进行安装 由于网站的地址在国外 如果你没得梯子的话 中间肯定会安装失败 所以我建议在安装时
  • unrecognized command line option '-V' 解决方法

    xgcc error unrecognized command line option 39 V 39 xgcc fatal error no input files 真正的错误并不在这里 xff0c 而是在最后一个错误出现的地方 我遇到的
  • ROS教程译文1———TF转换树的设置和使用

    本文属于ROS翻译文章 xff0c 来自WIKI http wiki ros org navigation Tutorials RobotSetup TF 由于水平有限 xff0c 翻译错误在所难免 xff0c 发现错误欢迎评论或联系作者
  • TI Openmp clacc编译器讲解

    Data 2017 12 29 Author cjh Theme TI Openmp clacc编译器讲解 本章内容主要分四讲来讲 xff1a 一 clacc编译器的讲解 二 makefile的讲解 三 openmp target语法讲解
  • 第二讲 STM32相关底层配置(一)

    本文是针对stm32F1系列的一些基础部分的底层配置的流程的总结 主要包括了GPIO普通配置 GPIO复用配置 GPIO重映射配置及中断优先级管理 其中紫色部分为调用正点原子的SYSTEM文件夹里的函数来实现相应步骤 GPIO普通配置 1
  • RCP开发中,对当前字体名字的获得

    Display getCurrent getSystemFont getFontData 0 getName 这句话获得的是当前字体的名字
  • sql server 中OPENROWSET与OPENDATASOURCE的用法

    SELECT FROM OPENROWSET 39 sqloledb 1 39 39 mrp server 39 39 sa 39 39 123 39 DBdata dbo tbG gzzxzl SELECT a FROM OPENROWS
  • 【RP2物联网实战(一)】C/C++&FreeRTOS版

    写在前面 树莓派pico xff0c 又称为RP2 xff0c 其开发方式多种多样 xff0c 有C语言和micropython语言 xff0c 工具有cmake xff0c vscode xff0c arduino xff0c thonn
  • CAS 5.3使用MySQL数据库登录

    作者 xff1a 张永利 一 本例环境说明 JDK 1 8CAS 5 3apache maven 3 6 0mysql 5 6 32 二 CAS 5 3基础环境搭建与验证 需要按照 CAS 5 3服务器搭建 搭建好环境 xff0c 并使用系