企業用戶名和用戶名的組合在用戶表中是唯一的。用戶使用Spring Security進行身份驗證BY用戶名查詢
我知道spring提供了一種爲認證編寫自定義查詢的機制。
<bean id="authenticationDao"
class="org.acegisecurity.userdetails.jdbc.JdbcDaoImpl">
<property name="dataSource" ref bean="dataSource" />
<property name="usersByUsernameQuery">
<value>
SELECT username,password,enabled
FROM User WHERE username=? and corporateId=?
</value>
</property>
</bean>
但問題是我們在查詢中有兩個綁定變量而不是一個。我不知道如何在這個db結構中使用spring安全框架。 用戶表的主鍵是UserId。是否有任何把預處理器調用認證方法之前,我可以通過用戶名和corporateId組合獲取userId,然後使用這個SELECT用戶名,密碼,啓用 從用戶WHERE userid =?查詢。
任何幫助將非常appericated。