1.建立数据库表t_cas,脚本如下
/*
Navicat Premium Data Transfer
Source Server : 本机mysql-5.7
Source Server Type : MySQL
Source Server Version : 50730
Source Host : localhost:3306
Source Schema : db_sso
Target Server Type : MySQL
Target Server Version : 50730
File Encoding : 65001
Date: 04/07/2021 17:09:40
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for t_cas
-- ----------------------------
DROP TABLE IF EXISTS `t_cas`;
CREATE TABLE `t_cas` (
`id` int(255) NOT NULL AUTO_INCREMENT COMMENT 'id',
`username` varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '用户名',
`password` varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '密码',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of t_cas
-- ----------------------------
INSERT INTO `t_cas` VALUES (1, 'zs', '1234');
INSERT INTO `t_cas` VALUES (2, 'ls', '1234');
INSERT INTO `t_cas` VALUES (3, 'liu', '12345');
SET FOREIGN_KEY_CHECKS = 1;
表数据如图
2.配置数据源,数据库用户认证
修改tomcat-9.0\webapps\cas\WEB-INF\classes\application.properties文件,注释掉配置文件读取的用户名和密码
#cas.authn.accept.users=casuser::Mellon
cas.authn.jdbc.query[0].url=jdbc:mysql://localhost:3306/db_sso?serverTimezone=GMT
cas.authn.jdbc.query[0].user=root
cas.authn.jdbc.query[0].password=1234
cas.authn.jdbc.query[0].sql=select * from t_cas where username=?
cas.authn.jdbc.query[0].fieldPassword=password
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
加上jdbc支持jar包这些包需要自行下载,去maven仓库很容易找到,下载完后复制到
cas-server-support-jdbc-5.3.14.jar
cas-server-support-jdbc-authentication-5.3.14.jar
cas-server-support-jdbc-drivers-5.3.14.jar
mysql-connector-java-5.1.28.jar
以上四个包可以去maven仓库下载,pom.xml文件如下
<!-- https://mvnrepository.com/artifact/org.apereo.cas/cas-server-support-jdbc -->
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-jdbc</artifactId>
<version>5.3.14</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apereo.cas/cas-server-support-jdbc-authentication -->
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-jdbc-authentication</artifactId>
<version>5.3.14</version>
<scope>runtime</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apereo.cas/cas-server-support-jdbc-drivers -->
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-jdbc-drivers</artifactId>
<version>5.3.14</version>
<scope>runtime</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.28</version>
</dependency>
下载好jar包放入目录:tomcat-9.0\webapps\cas\WEB-INF\lib
jar包位置
2.启动tomcat,尝试使用数据库表登录:
输入数据库username:ls
数据库密码password:1234;
登录成功
登录成功
3.cas密码加密校验
数据库使用明文密码是不安全的,使用md5加密
第一步:数据库生成md5密码
SELECT MD5('1234');
#加密后
81dc9bdb52d04dc20036dbd8313ed055
第二步:修改application.properties配置文件
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
第三步:测试登录OK
测试登录成功











网友评论