SpringBoot集成shiro,MyRealm中无法@Autowired注入Service怎么办

小编给大家分享一下SpringBoot集成shiro,MyRealm中无法@Autowired注入Service怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

创新互联专业为企业提供梧州网站建设、梧州做网站、梧州网站设计、梧州网站制作等企业网站建设、网页设计与制作、梧州企业网站模板建站服务,10年梧州做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

网上说了很多诸如是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集成shiro,MyRealm中无法@Autowired注入Service怎么办”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!

网页标题:SpringBoot集成shiro,MyRealm中无法@Autowired注入Service怎么办
网页URL:https://www.cdcxhl.com/article48/gdjeep.html

成都网站建设公司_创新互联,为您提供虚拟主机服务器托管网站设计企业建站品牌网站建设标签优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设