前言
- A项目使用spring mvc,且spring-session版本为:1.3.1.RELEASE
- B项目使用spring-boot,且spring-session版本为:2.0.2.RELEASE
- A项目和B项目均使用同一个redis进行session共享。
问题
A项目和B项目获取的session不一致不一致。
原因
因 spring-session 1.x 中默认的cookieSerializer(DefaultCookieSerializer )的 useBase64Encoding=false
,而 spring-session 2.x 中默认的cookieSerializer(DefaultCookieSerializer ) 的 useBase64Encoding=true
解决办法
将B项目中的 useBase64Encoding=true
改为 useBase64Encoding=false
其它
问题:A项中的 session id 每次刷新页面都会改变
- 按照上述解决办法将B项目配置完成后,并重启。
- A项目和redis未重启。
- A项目和B项目使用统一浏览器进行访问,且浏览器未重启。
在上述情况下,发生问题:A项中的 session id 每次刷新页面都会改变。
重启浏览器后,再次操作,则正常。
参考
https://blog.csdn.net/szydn/article/details/87914158