栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

SpringSessionDefaultCookieSerializer.setJvmRoute可以工作,但是HttpServletRequest没有必需的jvmRoute

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringSessionDefaultCookieSerializer.setJvmRoute可以工作,但是HttpServletRequest没有必需的jvmRoute

DefaultcookieSerializer到底能做什么?我认为它会在创建cookie时对其进行编辑,这就是将cookie存储在Redis中的方式。因此,如果以这种方式进行设置,则在创建此cookie后对它的任何使用都应附加jmvRoute。

首先,重要的是要意识到cookie本身没有存储在会话存储中(即您的Redis)。存储的是会话本身及其属性的表示。

除了会话存储之外,会话管理的另一个重要方面是用户的HTTP请求与存储的会话之间的关联。有了Spring Session的Servlet
API支持,这是它的责任

HttpSessionIdResolver
,并且默认情况下,Spring
Session使用基于cookie的实现,即
cookieHttpSessionIdResolver
。中还有一个基于HTTP标头的实现
HeaderHttpSessionIdResolver
。我之所以这样说是因为,重要的是要意识到会话存储是在不同级别上运行的独特关注点。

现在,关于

cookieHttpSessionIdResolver
,它将cookie的编写和读取问题委托给
cookieSerializer
DefaultcookieSerializer
默认情况下是……)。根据其配置,
DefaultcookieSerializer
在写入和读取会话cookie时会考虑许多选项,例如cookie名称,是否对base64编码cookie值,是否使用
httpOnly
cookie指令等。

但是,我无法获得服务器关联性,因为调试Spring应用程序中的HttpServletRequest时,HttpServletRequest.getSession()。getId()中没有jvmRoute(尽管十六进制数字与我在Chrome中看到的匹配)
),这就是我转交给塔伦德工作的目的。

这是我不理解的部分-
如果您能够

HttpSession
从当前的情况下解决问题,
HttpServletRequest
那么您知道
jvmRoute
它必然会正确吗?这是
jvmRoute
当前JVM的,否则会话将无法
HttpServletRequest
在此JVM的处理下解决。

什么是spring会议和Tomcat的会话管理之间的不同,是在Tomcat中

jvmRoute
是会话ID生成相关的问题,而与spring会议将
jvmRoute
在会话cookie序列化的环境中使用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/377424.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号