CAS(二)CAS伺服器動態驗證,CAS使用MySQL資料庫驗證
阿新 • • 發佈:2018-11-22
環境要求
- 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(三)基於SpringMVC搭建CAS-client,SpringMVC搭建CAS客戶端