cas單點登錄學習:配置數據庫驗證進行登錄


上一篇文章中,我們順利的搭建了cas的服務端與客戶端,但是登錄賬號cas只提供了一個默認的用戶,若是自己想在實際項目中運用,這是肯定不行的,所以,我們最好的解決方式就是配置數據庫的驗證。話不多說,接下來就開始配置cas服務端。

首先,我們要配置的是服務端的配置文件,所以,先進入部署了cas服務端的tomcat文件夾,找到webapps->cas->WEB-INF->deployerConfigContext.xml文件,如下圖

打開文件,找到下圖部分:

這一塊就是cas的登錄用戶配置,里面依舊有一個默認的用戶,就是casuser   Mellon,所以我么要做的就是把這里變成數據庫的配置啦,很簡單,就是修改以上代碼,變成:

<bean id="primaryAuthenticationHandler" class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
        <property name="dataSource" ref="dataSource" />
        <property name="sql" value="select password from user where username = ?" />
    </bean>
    <!-- MySQL connector -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName">
        <value>com.mysql.jdbc.Driver</value>
        </property>
        <property name="url">
        <value>jdbc:mysql://localhost:3306/cas</value>
        </property>
        <property name="username">
        <value>root</value>
        </property>
        <property name="password">
        <value>123456</value>
        </property>
    </bean>

 

這里需要說明一下這個配置:首先cas提供的驗證器有三個,默認選擇的是AcceptUsersAuthenticationHandler,這里需要改變為QueryDatabaseAuthenticationHandler,這里面就需要注入一個數據源和查詢sql。

所以,我們就在下面配置了一個bean名為dataSource,dataSource的配置就不用多說咯,根據自己的數據庫配置而定,這里只是demo,sql也是同理。其實這里還有一個是密碼加密的,但是筆者這里只是簡單介紹一下數據庫配置,就不多提,其實也很簡單。數據源用的是commons dbcp。

emmmm。。。好像就已經ok了,最后當然還需要加入架包啦,這可是靈魂啊。這里需要加入以下架包:

就這四個,添加至tomcat->webapps->cas->WEB-INF->lib,這樣就ok啦。接下來做個測試吧,創建一個用戶表,筆者這里有:

然后啟動tomcat,輸入地址:localhost:8111/casDemo01/,使用數據庫用戶進行登錄,如圖:

 

 登陸后:

 

架包下載地址:鏈接:https://pan.baidu.com/s/1i57vuUp   密碼:99og

 


免責聲明!

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



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