史上最详细的 Apereo CAS 5.3开发教程:二Apereo CAS 5.3 Server环境搭建,登录名,密码从数据库中获取
Posted makyan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了史上最详细的 Apereo CAS 5.3开发教程:二Apereo CAS 5.3 Server环境搭建,登录名,密码从数据库中获取相关的知识,希望对你有一定的参考价值。
Apereo CAS 5.3 项目源码地址:https://github.com/apereo
CAS 系列详解:https://blog.csdn.net/makyan/column/info/36060
上一节内容:https://blog.csdn.net/makyan/article/details/88878473
本节继上一节内容讲解
1.3. 配置原项目,将登录名/密码从数据库中获取
在上一节中,虽然我们可以修改登录的用户名、密码,但是,用户名、密码还是写在配置文件中的,
我们也可以让登录名密码从数据库中获取。
1.引入依赖
在pom.xml中profile的id = default的dependencies中添加依赖:
<!--数据库认证相关 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>
<!-- 自己需要的jar包,我这里用到了查库验证身份,所以引入了mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.5</version>
</dependency>
2. 在application.properties中配置Jdbc连接属性
#用的mysql-connector-java 是6.0.5,所以很多配置要改:
#1. 数据库驱动com.mysql.jdbc.Driver'已经被弃用了、应当使用新的驱动com.mysql.cj.jdbc.Driver'
#2. 用的mysql-connector-java 是6.0.5,要配上时区参数,不然会因为时区问题报错,这里用了CTT中国台湾时区避免产生8小时时差
#3. 新版的mysql会询问是否SSL连接,返回一个Boolean值,我们需要手动指定true或者false
cas.authn.jdbc.query[0].url=jdbc:mysql://www.futurecloud.com:3306/futurecloud-uac?serverTimezone=CTT&useSSL=false&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
cas.authn.jdbc.query[0].user=root
cas.authn.jdbc.query[0].password=root
cas.authn.jdbc.query[0].sql=select * from fc_uac_user where username=?
cas.authn.jdbc.query[0].fieldPassword=password
cas.authn.jdbc.query[0].driverClass=com.mysql.cj.jdbc.Driver
将配置文件application.properties中的用户名密码注释掉;
3. 在mysql中创建数据库futurecloud-uac、表,插入数据
CREATE TABLE `fc_uac_user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`username` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT '',
`email` varchar(30) DEFAULT NULL,
`telephone` varchar(11) DEFAULT NULL,
UNIQUE KEY `id` (`id`) USING HASH
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
INSERT INTO `fc_uac_user` VALUES (1, 'yangxj', 'yangxj', NULL, NULL);
4. 测试,输入yangxj/yangxj登陆成功
以上是关于史上最详细的 Apereo CAS 5.3开发教程:二Apereo CAS 5.3 Server环境搭建,登录名,密码从数据库中获取的主要内容,如果未能解决你的问题,请参考以下文章
史上最详细的UE4安装教程(没有之一,就是史上最详细,不服气你来打我呀)