spring-jdbc - 春季会话数据库中的 Cookie SESSION= 和 session_id 有什么区别
问题描述
我正在使用带有 JDBC postgres 的 spring 会话进行会话管理。每当创建新会话时,spring 都会创建它并sessionid
在 cookie 参数中将其发送回浏览器,SESSION
然后浏览器将其发送回每个后续请求,并且一切正常。但是 postgres 表中 session_id 中的值与最初在 cookiespring_session
中发送回的值不同。SESSION
这是预期的行为吗?
解决方案
是的,这是意料之中的。
从 Spring Session 2.0 开始,DefaultCookieSerializer
默认使用 Base64 编码。因此,您实际看到的会话 cookie 值是 Base64 编码的会话 ID。
如果您希望恢复以前的(Spring Session 1.x)默认值,您可以显式配置DefaultCookieSerializer
bean 并将useBase64Encoding
属性设置为false
.
推荐阅读
- jquery - jQuery,在更改时停止先前的更改,如果无效,则在超时后执行输入事件
- javascript - window.addEventListener 正在监听 window.parent.postMessage 两次
- javascript - protobufjs:“任何”用法
- javascript - 如何同步处理 JavaScript
- php - 使用 isset() 检查空字段,如果该字段为空,则应跳转到 else 语句,但该语句不起作用
- r - 制作两个数据集列名的索引/表
- amazon-web-services - 在 Lambda 触发器上从 S3 逐行读取文件
- python - 为什么我在 pandas 中的 python 函数没有返回任何值?
- c# - 在循环内运行时添加实体的 EF 核心错误
- azure - 外部表 Azure Synapse 不返回数据