輕鬆搭建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)來瞅瞅

相關文章
相關標籤/搜索