史上最详细的 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中添加依赖:



    org.apereo.cas
    cas-server-support-jdbc
    ${cas.version}


    org.apereo.cas
    cas-server-support-jdbc-drivers
    ${cas.version}




    mysql
    mysql-connector-java
    6.0.5

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登陆成功

你可能感兴趣的:(CAS详解,Apereo,CAS,详解)