Shiro实现记住我功能时报错org.apache.ibatis.executor.ExecutorException: Cannot get Configuration as config

本文探讨了在使用Shiro的RememberMe功能时遇到的问题,特别是在关闭浏览器后再次访问出现的异常。作者分析了问题根源在于Mybatis的延迟加载特性与Shiro序列化需求之间的冲突,并分享了解决方案。
摘要由CSDN通过智能技术生成

好久没用这个Shiro了,最近在用时突然想实时Shiro的RememberMe功能,在关闭浏览器再次进入页面时,发现报错
org.apache.ibatis.executor.ExecutorException: Cannot get Configuration as configuration factory was not set.

直接讲原因吧,我之前是用了mybatis的延迟加载来进行查询:用户信息user -> 用户角色role ->用户权限perms,然后在使用Shiro进行记住我功能时,因为需要序列化,导致在序列化时只序列化了用户信息,而role和perms因为是延迟加载的没有被正确序列化,而是等于null,导致发生了上述错误,后面我在Mybatis全局配置文件中把下面配置延迟加载的配置注释掉之后,就可以了…

<!-- 开启延迟加载 -->
<!--<setting name="lazyLoadingEnabled" value="true"/>-->
<!-- 关闭立即加载,实现按需加载 -->
<!--<setting name="aggressiveLazyLoading" value="false"/>-->

如果你也是这个问题可以试试看,如果能有使用延迟加载还可以实现记住我功能的,球球教教我!我查资料暂时还没查到相应的资料(哭)。

菜鸟继续学习了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值