SpringBoot集成shiro,MyRealm中無法@Autowired注入Service的問題
網(wǎng)上說了很多諸如是Spring加載順序,shiroFilter在Spring自動裝配bean之前的問題,其實也有可能忽略如下低級錯誤。
在ShiroConfiguration中要使用@Bean在ApplicationContext注入MyRealm,不能直接new對象。
道理和Controller中調(diào)用Service一樣,都要是SpringBean,不能自己new。
錯誤方式:
@Bean(name = "securityManager")
public SecurityManager securityManager() {
DefaultWebSecurityManager manager = new DefaultWebSecurityManager();
MyRealm myRealm = new MyRealm();
manager.setRealm(myRealm);
return manager;
}
正確方式:
@Bean(name = "myRealm")
public MyRealm myAuthRealm() {
MyRealm myRealm = new MyRealm();
return myRealm;
}
@Bean(name = "securityManager")
public SecurityManager securityManager(@Qualifier("myRealm")MyRealm myRealm) {
DefaultWebSecurityManager manager = new DefaultWebSecurityManager();
manager.setRealm(myRealm);
return manager;
}
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
如何解決SpringBoot定時任務(wù)報錯Unexpected error occurred 
這篇文章主要介紹了如何解決SpringBoot定時任務(wù)報錯Unexpected error occurred in scheduled task問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
Spring Boot Actuator監(jiān)控端點小結(jié)
這篇文章主要介紹了Spring Boot Actuator監(jiān)控端點小結(jié),需要的朋友可以參考下2017-06-06
SpringBoot?集成Resteasy實現(xiàn)RESTFul接口的詳細(xì)過程
這篇文章主要介紹了SpringBoot集成Resteasy實現(xiàn)RESTFul接口,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08

