1. 程式人生 > >spring security裡user表和authorities表名字改了該如何操作

spring security裡user表和authorities表名字改了該如何操作

大家都知道,如果使用ss的官方配置的話,必須使用者表嚴格定義為users,許可權表嚴格定義為authorities,

然而在工程裡面可能表的名字不可以嚴格遵守這種命名規則

這就需要我們進行自定義配置,之前我也找了很多方法,沒有解決,最後參考別人的一篇部落格,獲得了啟發,參照這裡

在xml里加上

<security:authentication-manager>
		<security:authentication-provider>
			<security:jdbc-user-service data-source-ref="dataSource" 
			users-by-username-query = "select username,password,enabled from cpt_users where username = ?"
			authorities-by-username-query = "select username,authority from cpt_authorities where username = ?"
			/>
		</security:authentication-provider>
	</security:authentication-manager>
也就是自己重寫查詢語句,具體的查詢語句請根據資料庫來進行書寫,即可實現這個功能,

同時也附上我的informix資料庫的資料來源配置

	<!-- 配置資料來源 -->	
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
	  <property name="driverClassName" value="com.informix.jdbc.IfxDriver"/>
	  <property name="url" value="jdbc:informix-sqli://XXXXXXX"/>
	  <property name="username" value="root"/>
	  <property name="password" value="root"/>
	</bean>
即可