Spring Boot+Shiro报UnknownSessionException

第一次访问项目,shiro报no session错误,异常如下:

org.apache.shiro.session.UnknownSessionException: There is no session with id [de08201c-fa60-4619-b5ab-477f05f8c50d]

原因:shiro中的Cookie默认名称是JSESSIONID,而servlet容器也是JSESSIONID,导致冲突,因此需改变shiro中的Cookie中的名称,代码如下:

 @Configuration
public class ShiroConfig {

  @Bean("sessionManager")
  public SessionManager sessionManager(ShiroSessionDao shiroSessionDa){
      DefaultWebSessionManager sessionManager = new DefaultWebSessionManager();
      sessionManager.setGlobalSessionTimeout(60 * 60 * 1000);
      sessionManager.setSessionValidationSchedulerEnabled(true);
      sessionManager.setSessionIdUrlRewritingEnabled(false);
      sessionManager.setSessionDAO(shiroSessionDao);
      /** 此注释代码 就是将JSESSIONID变成自定义名称 WEBJSESSIONID
      sessionManager.setSessionIdCookieEnabled(true);
      SimpleCookie cookie = new SimpleCookie("WEBJSESSIONID");
      cookie.setHttpOnly(true);
      cookie.setMaxAge(60 * 60 * 1000);
      sessionManager.setSessionIdCookie(cookie);  **/
      return sessionManager;
  }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,131评论 19 139
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,394评论 11 349
  • 目录Cookie机制什么是CookieCookie的不可跨域名性Unicode编码:保存中文BASE64编码:保存...
    Tomatoro阅读 16,986评论 7 186
  • 说实话自己也曾有过理想,幻想自己可以改变世界创造未来。后来,发现自身真的不是那块材料、懒惰不上进才是本质,当然,我...
    魔怔了阅读 210评论 0 0
  • 一棵树,一段情 文/小河七七 尘世间,有许多道别来不及说再见。拥有时,好像并未好好珍惜,别离了,才深情依依。就像那...
    小河七七阅读 656评论 4 7