CAS單點登入-配置資料庫認證方式
阿新 • • 發佈:2019-01-25
接下來,說一下配置資料庫認證單點登入
如果你之前的單點登入搭成功了,之後就簡單多了,只需要新增一些配置和jar包即可。若未成功,請參考CAS單點登入入門配置
步驟:
1、引入相關jar包
2、建立資料庫和表,填入資料
3、修改配置檔案
4、部署,啟動tomcat
完成
1、引入相關jar包
1、資料庫連線包
2、資料來源相關包
3、單點登入jdbc支援包
(根據你機器的環境,選擇相應的包)
以下是我用的jar包
mysql-connector-java-5.1.25-bin.jar
commons-dbcp.jar
commons-pool.jar
cas-server-support-jdbc-3.4.10.jar
2、建立資料庫和表,填入資料
這種問題就不過多說明了
3、修改配置檔案
在你的cas-server project中找到如下配置檔案:
1、新增datasource
<bean id="mysqlDataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/cas?useUnicode=true&characterEncoding=utf-8"/> <property name="username" value="root" /> <property name="password" value="root" /> </bean>
2、找到bean,id為:"authenticationManager"
裡面找一個<property name="authenticationHandlers">標籤,修改如下(官方註釋已刪掉):
<property name="authenticationHandlers"> <list> <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient" /> <span style="white-space:pre"> </span><!-- 預設驗證方式,帳號=密碼即可 --> <!-- <bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" /> --> <!-- 資料庫認證方式 --> <span style="white-space:pre"> </span> <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"> <property name="dataSource" ref="mysqlDataSource"/> <property name="sql" value="select password from user where username = ?" /> </bean> </list> </property>
添加了QueryDatabaseAuthenticationHandler,CAS已為我們封裝好了,只需要傳入sql和datasource即可
好了,現在可以部署測試了。