轻松搭建CAS 5.x系列(3)-链接数据库,使用数据库表中的账号作登陆

概要说明html


 前面的CAS SEVER中的登陆账号名是配置中写死的,实际状况中不太可能用这些方法。一般状况下,数据库的账号名密码都是在数据库表中的,这样能够对登陆账号进行增删改的处理。 若是您对搭建固定账号的CAS SERVER还不了解的话,能够查看上一章节《轻松搭建CAS 5.x系列(2)-搭建HTTPS的SSO SERVER端 本文就是来解决这个问题的。java

 

操做步骤mysql


能够看到上一张中登陆的画面中,仍是有一条错误提示 git

OK,看到错误了,那咱们继续。github

 

·1. 咱们这次使用的是Mysql数据库,先到数据库中建立表和账号数据web

--建立数据库表空间
CREATE DATABASE test_cas DEFAULT CHARSET utf8 COLLATE utf8_general_ci;  
USE test_cas;  
--建立账号信息表
DROP TABLE IF EXISTS `cas_user_base`;  
CREATE TABLE `cas_user_base` (  
  `id` INT(11) NOT NULL AUTO_INCREMENT,  
  `user_name` VARCHAR(45) DEFAULT NULL,  
  `user_psd` VARCHAR(45) DEFAULT NULL,  
  PRIMARY KEY (`id`)  
);  
--插入登陆账号数据
INSERT INTO `cas_user_base` VALUES (1,'admin','123456'),(2,'guest','123456');

 

·2. cas overlay添加数据库的JDBC插件,在pom.xml增长以下配置sql

<!-- Database Authentication Begin -->
<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>
<!-- Database Authentication End -->

 

·3. cas overlay增长数据库链接配置数据库

建立目录 D:\casoverlay\cas-overlay-template\src\main\resources,apache

并新增文件application.properties,浏览器

具体文件内容以下

cas.authn.jdbc.query[0].sql=SELECT * FROM cas_user_base WHERE user_name=?
cas.authn.jdbc.query[0].url=jdbc:mysql://localhost:3306/test_cas?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&serverTimezone=UTC
cas.authn.jdbc.query[0].dialect=org.hibernate.dialect.MySQLDialect
cas.authn.jdbc.query[0].user=root
# 这次是数据库密码
cas.authn.jdbc.query[0].password=
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
cas.authn.jdbc.query[0].fieldPassword=user_psd

 

-4. cas overlay从新打包

打包命令以下

mvn package

第一次数据会比较慢,overlay须要下载jdbc的插件,mysql的驱动也会自动下载。

打包后,会生成目录 D:\casoverlay\cas-overlay-template\target\cas

 

-5. 检查下打包是否成功,检查两点:

  •  检查D:\casoverlay\cas-overlay-template\target\cas\WEB-INF\classes目录下application.properties是否就是咱们刚才写的文件
  •  检查D:\casoverlay\cas-overlay-template\target\cas\WEB-INF\lib目录下是否有cas-server-support-jdbc-5.1.9.jar和mysql-connector-java-6.0.5.jar(若是版本号不同也是属于正常的)

 

-6. OK,吧打包的cas目录复制到tomcat的webapps目录中

把D:\casoverlay\cas-overlay-template\target\cas下的cas目录复制到D:\casoverlay\apache-tomcat-8.5.31\webapps

 

-7. 启动tomcat

双击文件D:\casoverlay\apache-tomcat-8.5.31\bin\startup.bat

 

打开浏览器

输入https://cas.example.org:8443/cas/login

你会发现登陆画面上中的最后一个登陆错误提示也消失了

输入账号名admin,密码是123456

 

看到登陆成功画面,大功告成。

 

参考文档


 

  1. CAS中文文档站点#基于数据库的身份认证
  2. CAS中文文档站点#CAS配置属性说明

 

最后,你们想更多CAS了解的话,能够来CAS中文文档站点(http://www.cassso-china.cn)来瞅瞅

相关文章
相关标签/搜索