我正在使用带有JDBC postgres的spring会话进行会话管理。每当创建新会话时,spring都会创建它并使用Cookie参数sessionid
将SESSION
发送回浏览器,然后浏览器将其发送回去,以便后续的每个请求都能正常工作。但是postgres表spring_session
中session_id中的值与最初通过cookie发送回的SESSION
不同。这是预期的行为吗?
答案 0 :(得分:0)
是的,这是预期的。
从Spring Session 2.0开始,DefaultCookieSerializer
默认使用Base64编码。因此,您实际上看到的会话Cookie值就是Base64编码的会话ID。
如果希望恢复以前的默认设置(Spring Session 1.x),则可以将useBase64Encoding
属性设置为DefaultCookieSerializer
的{{1}} bean进行显式配置。