SpringBoot集成shiro,MyRealm中无法@Autowired注入Service的问题

网友投稿 292 2023-01-11


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")

http://public MyRealm myAuthRealm() {

MyRealm myRealm = new MyRealm();

return myRealm;

}

@Bean(name = "securityManager")

public SecurityManager securityManager(@Qualifier("myRealm")MyRealm myRealm) {

DefaultWebSecurityManager manager = new DefaultWebSecurityManager();

manager.setRehttp://alm(myRealm);

return manager;

}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:研发管理平台系统(产品研发管理系统)
下一篇:微服务网关和注册中心(什么是微服务注册中心)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~