Tomcat中的session和后端JAVA项目(譬如Shiro)中session的关系?

对于同一个HTTP request,我看Shiro里的jSessionId和Tomcat的jSessionId是一样的,是不是shiro里的session id是直接从Tomcat里取到的?

Shiro里的session:

SecurityUtils.getSubject().getSession()

tomcat的session:

request.getSession()

这两个session之间是什么关系?会不会出现冲突?譬如设置超时,两者设置的超时时间不一致,怎么办?

另外,如果后端JAVA项目不用shiro,而是自己的框架,其中session id自定义,那会和Tomcat里的session有何冲突或者关系?

阅读 4.4k
1 个回答

1 很久记不太清了 应该是取tomcat生成的session shiro只是拦截获取session
2 自定义sessionid? 不明白你为啥要自定义sessionid request。getsession()会委托tomcat帮你创建session
如果你想改变sessionid的生成方式,我只知道改源码可行,不知道有没有配置可以替换默认的生成方式
弱菜 只能知道这么多了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题