好久没用这个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"/>-->
如果你也是这个问题可以试试看,如果能有使用延迟加载还可以实现记住我功能的,球球教教我!我查资料暂时还没查到相应的资料(哭)。
菜鸟继续学习了!