cas+tomcat+shiro實現單點登錄-3-CAS服務器深入配置(連接MYSQL)


目錄

1.tomcat添加https安全協議

2.下載cas server端部署到tomcat上

3.CAS服務器深入配置(連接MYSQL)

4.Apache Shiro 集成Cas作為cas client端實現

CAS服務器深入配置(連接MYSQL)

目前配置好的CAS的用戶名和密碼驗證十分簡單,既只要用戶名和密碼相同就可以登錄了。但在實際應用中我們的用戶名密碼常常是保存在數據庫里面的,所以我們希望實現從數據庫里面驗證用戶名和密碼。操作步驟如下:

第一步、MySQL創建數據庫和表

這一步我就不說了,不知道可以查資料

第二部、添加jar包

1、下載mysql-connector-java-5.1.34-bin.jar,把該jar包和下載的cas server下面的modules下面的cas-server-support-jdbc-3.5.2.1.jar拷到tomcat\webapps\cas\WEB-INF\lib下

 

注意:由於我的mysql版本是5.7,網上很多教程下的都是mysql-connector-java-5.1.22.jar,但是我下下來后啟動tomcat報錯如下:

PropertyAccessException 1: org.springframework.beans.MethodInvocationException:
Property
'driverClassName' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [com.mysql.jdbc.Driver]

 我下載mysql-connector-java-5.1.34-bin.jar版本就好了,所以你們根據自己的mysql版本下載jdbc驅動。

第三步、配置apache-tomcat-8.0.36\webapps\cas\WEB-INF\目錄下的deployerConfigContext.xml文件

首先增加一個datasource,通過增加一下的代碼實現:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
  <property name="url" value="jdbc:mysql://192.168.20.254:3306/nh"/>
  <property name="username" value="root"/>
  <property name="password" value="123456"/>
</bean>

 

然后改變認證方式,定位到如下代碼:

<bean 
class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />

 

 

把它注釋掉,換成:

<!--<bean  class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />-->
 <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">  
         <property name="dataSource" ref="dataSource" />  
         <property name="sql" value="select password from sus_user where username=?" /> 
 </bean> 

 

 

 

(4)重啟tomcat,再次到登錄頁面https://localhost:443/cas/login上,就可以用數據庫中的用戶名和密碼登錄了,比如我這里用設置的"test","123456"登錄,到這里配置就完成了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM