1. 程式人生 > >CAS單點登入-配置資料庫認證方式

CAS單點登入-配置資料庫認證方式

接下來,說一下配置資料庫認證單點登入

如果你之前的單點登入搭成功了,之後就簡單多了,只需要新增一些配置和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即可

好了,現在可以部署測試了。