【问题标题】:Whats the difference between Cookie SESSION= and session_id in database for spring session春季会话数据库中的 Cookie SESSION= 和 session_id 有什么区别
【发布时间】:2018-07-25 10:58:54
【问题描述】:

我正在使用带有 JDBC postgres 的 spring 会话进行会话管理。每当创建一个新会话时,spring 都会创建它并将sessionid 发送回cookie 参数SESSION 中的浏览器,并且浏览器将其发送回每个后续请求并且一切正常。但是 postgres 表 spring_session 中 session_id 中的值与最初在 cookie 中发回的 SESSION 不同。这是预期的行为吗?

【问题讨论】:

    标签: spring-jdbc spring-session


    【解决方案1】:

    是的,这是意料之中的。

    从 Spring Session 2.0 开始,DefaultCookieSerializer 默认使用 Base64 编码。因此,您实际看到的会话 cookie 值是 Base64 编码的会话 ID。

    如果您希望恢复之前的(Spring Session 1.x)默认值,您可以显式配置 DefaultCookieSerializer bean,并将 useBase64Encoding 属性设置为 false

    【讨论】:

    • 完全有道理。非常感谢。
    猜你喜欢
    • 2018-03-06
    • 2014-06-27
    • 2011-09-14
    • 2011-05-27
    • 2011-07-04
    • 2016-02-27
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多