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

