开发者社区> 问答> 正文

springmvc整合shiro 会话管理时候报错?报错

配置代码

<!-- securityManager配置 -->
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<property name="realm" ref="customRealm" />
<!-- 注入缓存管理器 -->
<property name="cacheManager" ref="cacheManager"/>
<!-- 注入session管理器 -->
<property name="sessionManager" ref="sessionManager" />
</bean>
<bean id="customRealm" class="cn.itcast.ssm.shiro.CustomerRealm">
<!-- 将凭证匹配器设置到realm中,realm按照凭证匹配器的要求进行散列 -->
<property name="credentialsMatcher" ref="credentialsMatcher"/>
</bean>
<!-- 凭证匹配器 -->
<bean id="credentialsMatcher"
class="org.apache.shiro.authc.credential.HashedCredentialsMatcher">
<property name="hashAlgorithmName" value="md5" />
<property name="hashIterations" value="1" />
</bean>
<bean id="cacheManager" class="org.apache.shiro.cache.ehcache.EhCacheManager">
    <property name="cacheManagerConfigFile" value="classpath:shiro-ehcache.xml"/>
    </bean>
    <!-- 会话管理器 -->
    <bean id="sessionManager" class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager">
        <!-- session的失效时长,单位毫秒 -->
        <property name="globalSessionTimeout" value="600000"/>
        <!-- 删除失效的session -->
        <property name="deleteInvalidSessions" value="true"/>
    </bean>


报错信息:

org.apache.shiro.session.UnknownSessionException: There is no session with id [DDCEE1C0E7397040829290946EDB7209


请求一次,地址栏的sessionId就变一次    总是产生不一样的JSESSIONID

有哪位大神能够指点迷津 

展开
收起
爱吃鱼的程序员 2020-06-09 14:07:17 719 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    换一个shiro版本谢谢我去试一下浏览器f12,看是不是传了<spanstyle="background-color:#FFE500;">DDCEE1C0E7397040829290946EDB7209的cookie,这个cookie什么时候来的。是不是cookie重复了
    他就是每次请求就会重新产生一个cookie地址栏的sessionId就变一次   总是产生不一样的JSESSIONID。我之前整合的时候也碰到这种情况。我的情况是竟然有两个jsessionid的cookie,我关了jsp自动生成session还是不行,清空浏览器所有cookie也不顶用。搞到晚上8、9点还不行。然后就回家了,第二天来重新启动竟然好了……。不过为了保险,我把shiro的cookie的名字改成了shiroId,然后把原生的session停了。对了哥们你spring-data-jpa了解么我配置全局dao总是报错配置单个dao是可以好郁闷建议你把ehcache的缓存文件都删了,把浏览器cookie清空,重新部署一下项目<divclass='ref'>

    引用来自“一只小桃子”的评论

    地址栏的sessionId就变一次   总是产生不一样的JSESSIONID。我之前整合的时候也碰到这种情况。我的情况是竟然有两个jsessionid的cookie,我关了jsp自动生成session还是不行,清空浏览器所有cookie也不顶用。搞到晚上8、9点还不行。然后就回家了,第二天来重新启动竟然好了……。不过为了保险,我把shiro的cookie的名字改成了shiroId,然后把原生的session停了。<divclass='ref'><divclass='ref'>

    引用来自“一只小桃子”的评论

    地址栏的sessionId就变一次   总是产生不一样的JSESSIONID。我之前整合的时候也碰到这种情况。我的情况是竟然有两个jsessionid的cookie,我关了jsp自动生成session还是不行,清空浏览器所有cookie也不顶用。搞到晚上8、9点还不行。然后就回家了,第二天来重新启动竟然好了……。不过为了保险,我把shiro的cookie的名字改成了shiroId,然后把原生的session停了。

    2020-06-09 14:07:35
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载