1. 程式人生 > >CAS(二)CAS伺服器動態驗證,CAS使用MySQL資料庫驗證

CAS(二)CAS伺服器動態驗證,CAS使用MySQL資料庫驗證

環境要求

  • JDK 8+
  • CAS 5.2
  • tomcat 8+

步驟

一、搭建CAS伺服器  --> CAS(一)搭建CAS - server伺服器

 

二、修改application.properties

靜態驗證的配置,需要註釋:

##
# CAS Authentication Credentials
#
#cas.authn.accept.users=user::123

再加入如下配置:

#Query Database Authentication 資料庫查詢校驗使用者名稱開始
#查詢賬號密碼sql,必須包含密碼欄位
cas.authn.jdbc.query[0].sql=select * from user_info where username=?
#指定上面的sql查詢欄位名(必須)
cas.authn.jdbc.query[0].fieldPassword=password
#指定過期欄位,1為過期,若過期不可用(可選)
#cas.authn.jdbc.query[0].fieldExpired=expired
#為不可用欄位段,1為不可用,需要修改密碼(可選)
#cas.authn.jdbc.query[0].fieldDisabled=disabled
#資料庫方言hibernate的
cas.authn.jdbc.query[0].dialect=org.hibernate.dialect.MySQLDialect
#資料庫驅動
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
#資料庫連線
cas.authn.jdbc.query[0].url=jdbc:mysql://127.0.0.1:3306/crm?useUnicode=true&characterEncoding=UTF-8
#資料庫使用者名稱
cas.authn.jdbc.query[0].user=root
#資料庫密碼
cas.authn.jdbc.query[0].password=root
#預設加密策略,通過encodingAlgorithm來指定演算法,預設NONE不加密
cas.authn.jdbc.query[0].passwordEncoder.type=DEFAULT
cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8
cas.authn.jdbc.query[0].passwordEncoder.encodingAlgorithm=MD5
#Query Database Authentication 資料庫查詢校驗使用者名稱結束

主要配置說明:

#資料庫查詢使用者名稱語句,其中user_info對應表名,username對應登入賬號的欄位名
cas.authn.jdbc.query[0].sql=select * from user_info where username=?
#對應密碼的欄位名
cas.authn.jdbc.query[0].fieldPassword=password
#密碼加密策略,如果資料庫表的password欄位沒有使用加密策略,則這一段配置可以省略
cas.authn.jdbc.query[0].passwordEncoder.type=DEFAULT
cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8
cas.authn.jdbc.query[0].passwordEncoder.encodingAlgorithm=MD5

三、重新編譯、啟動

瀏覽器訪問http://cas.server.com:8443/cas/login可進入cas登入介面

輸入資料庫中的賬號和密碼登入

程式碼託管在https://gitee.com/oumuv/cas-Demo

 

上一篇:CAS(一)搭建CAS - server伺服器

下一篇:CAS(三)基於SpringMVC搭建CAS-client,SpringMVC搭建CAS客戶端

希望可以幫助到有需要的人