2
我正在使用spring security來管理用戶在我的項目中登錄/註冊。在三次失敗登錄嘗試後,我需要實現用戶鎖定功能。我所做的是在數據庫的'用戶'表中添加另一個字段'account_non_locked'。如何配置spring security以使用我自定義的UserDetailsManager?
我面臨的問題是春季安全不會更新新添加的列。我深入瞭解了源代碼,發現默認的UserDetailsManager中的sql語句寫爲:
"insert into users (username, password, enabled) values (?,?,?)"
這解釋了爲什麼它不能識別我的新列。
所以我複製該文件,並更改爲適合我自己的需要,這是CustomUserDetailsManager.java
現在我不能配置Spring Security用我自己定製的UserDetailsManager。配置文件現在是:
<authentication-manager alias="authenticationManager">
<authentication-provider>
<password-encoder ref="passwordEncoder" />
<jdbc-user-service id="userDetailsService" data-source-ref="dataSource" />
</authentication-provider>
</authentication-manager>
<beans:bean id="passwordEncoder" class="org.springframework.security.crypto.password.StandardPasswordEncoder" />
我找不到任何示例在線,將正確配置此。請提前幫助和感謝!