No SecurityManager acce 关于spring静态注入securityManager的问题,Subject subject = SecurityUtils.getSubject()
遇到问题: 在接收mq队列进行逻辑处理,需要操作缓存时,在getSecurityManager()时,出现如下异常,即无法获取到securityManager对象。而在正常的系统登陆后操作缓存,却没有出现此问题。

原因在于项目在登陆成功后,已经在shiro过滤器中注入了该对象,而在消息队列消费过程中,此对象仍然为空,故在获取session去操作缓存过程中,因为获取不到securityManager对象,从而出现异常。

于是需要对securityManager进行静态注入,

<!-- 静态注入,相当于调用SecurityUtils.setSecurityManager(securityManager) --> <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="staticMethod" value="org.apache.shiro.SecurityUtils.setSecurityManager"/> <property name="arguments" ref="securityManager" /> </bean>
即在任意首次静态方法调用时,就会将其注入进来。
如果arguments 是多个,采用 List 赋值。
<!-- 静态注入,相当于调用SecurityUtils.setSecurityManager(securityManager) --><bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"><property name="staticMethod" value="org.apache.shiro.SecurityUtils.setSecurityManager"/><property name="arguments"><list><value>securityManager</value></list></property></bean>因此,问题得到解决。
参考地址:https://www.sojson.com/blog/157.html
相关知识
基于springboot实现的对人社区交流平台(计算机毕设交流案例)
.NET单元测试的艺术
有关植物的纪录片(間斷更新中)
帮我介绍一些学习家庭园艺的书籍吧!
海洋生态修复:概念、类型与实施路径选择
A826HHX/HuaHeng
一个简单的python网路爬虫示例——爬取《后来的我们》影评
用户登录界面设计代码html
哈尔滨工业大学静态模型社关于举办“模玩巧匠,妙手生花”静态模型制作比赛的通知
【推荐】《实践花艺包装》
原文链接: No SecurityManager acce 关于spring静态注入securityManager的问题,Subject subject = SecurityUtils.getSubject() https://www.huajiangbk.com/newsview505475.html
| 上一篇: 《鲁滨逊漂流记》读书交流会(教案... | 下一篇: unity csharp soc... |
推荐分享

- 1明日花キララ:明日花绮罗年度... 41781
- 2明日花キララ(明日花绮罗)经... 24068
- 3胡椒木盆景从上盆制作到养护,... 22880
- 4五月天婷婷开心六月丁香:音乐... 16151
- 5仙人球“水蜜桃”—又美又仙,... 13513
- 6十大致癌花卉排行榜,哪些花卉... 12303
- 7超简单,3个步骤带你学会毛线... 12222
- 8老师精选05—河北彩花(出道... 11980
- 9家庭养花知识大全 家庭养花有... 11349
- 10家庭养花风水知识 家庭养花“... 10813




