Spring session 浏览器sessionId与服务器不一致解决方案
项目情况:
spring boot 和spring session 版本都是 2.0.2.RELEASE
问题描述:
请求项目接口后浏览器保存的sessionId与服务器不一致,拿Postman测试如下图,网上找了很久都没发现有人发过这个问题,只能自己去找了spring session的深入分析一系列文章以及阅读源码,最后结合到今天找到的一个帖子,不过他里面处理的比较复杂,我就做了个最简单的处理。
分析:
这里两个session其实是一致的,只是浏览器保存的sessionId是经过服务器base64编码之后返回的。其实看似不一致,但是前端传入这个编码后的服务器也会解码处理,不会出现找不到的情况。以上这些东西我们可以在spring session 源码 DefaultCookieSerializer 类中看到
我们可以看到这个类在初始化的时候就指定了使用base64编码,指定cookie名称为session(这也是为什么使用spring session后cookie里保存的不叫 jsessionid 而是叫session了)
而在写cookie和读cookie的时候,都会判断类里这个变量 useBase64Encoding 是否为true,如果是,则写的时候进行base64编码,读的时候进行base64解码。
解决方案:
如果希望服务器与浏览器的sessionId一模一样,只需要自己去注册这个bean并且设置变量 useBase64Encoding 为false即可
参考:
http://www.cnblogs.com/imyjy/p/9187168.html
http://blog.didispace.com/spring-session-xjf-3/
Spring session 浏览器sessionId与服务器不一致解决方案相关推荐
- Spring Security——集成Spring Session、Redis和JSON序列化解决方案
官方文档 https://docs.spring.io/spring-session/docs/2.4.2/reference/html5/#spring-security Maven 主要 < ...
- Web Socket/Stomp——整合Spring Session【Header Token模式】解决方案
官方文档 https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#websocket-stomp-au ...
- Spring Session - Cookie VS Session VS Token 以及 Session不一致问题的N种解决方案
文章目录 Cookie VS Session VS Token History Cookie Session Token Session不一致问题 Session不一致解决方案 nginx sessi ...
- springcloud 加入spring session通过zuul请求session不一致问题
最近在用学习springcloud 想法网关中加入权限url验证,这样其他微服务就不用做url验证了,分布式session用的spring session 遇到问题是:单独访问每个微服务,sessio ...
- Spring Security + Spring Session Redis——【SecurityContext】和【AuthenticationToken】JSON反序列化问题解决方案
前置 Spring Session + Redis--自定义JSON序列化解决方案 问题描述 Spring Security + Spring Session使用中Redis,默认序列化方式是JdkS ...
- Spring Session Redis——自定义JSON序列化解决方案
问题描述 Spring Session + Redis--自定义JSON序列化解决方案 问题分析 RedisHttpSessionConfiguration中,Bean名称必须是springSessi ...
- Spring Boot——Spring Session Redis整合Spring Security时错误【RedisConnectionFactory is required】解决方案
问题描述 异常栈栈底 Caused by: java.lang.IllegalStateException: RedisConnectionFactory is requiredat org.spri ...
- Spring Session 2.0.0.M1 发布,分布式解决方案
我很高兴地宣布Spring Session 2.0.0.M2 发布了.此版本的重点主要是确保与Spring Framework 5.0.0.RC2和Spring Data Kay-M4的兼容性.我们期 ...
- Spring Session 详解
文章目录 1.SpringSession简介 1.1 Session 会话管理及带来的问题 1.2 SpringSession的特性 2.入门案例 2.1 创建项目 2.2 代码开发 2.3 Spri ...
最新文章
- android小知识之意图(intent)
- 踩坑之旅:springboot+vue+webpack项目实战(一)
- Keepalived+nginx实现高可用负载均衡
- 【OpenCV 例程200篇】50. 图像增强—直方图统计量图像增强
- Unity的属性注入
- Linux四剑客详解——sed
- 关于TeamViewer中的ITbrain
- Json数组转Map
- MarkDown 语法手册
- 发现一个大牛Scott Lowe博客
- 汇编语言学习-DOSBox-MASM-安装及使用教程
- oppoa9处理器怎么样_oppo a9是什么处理器
- 【离散数学笔记】逻辑运算之吸收律
- 【Java 8 新特性】Java 8 Collectors:reducing 示例(List分组取最值)
- java中static什么意思_Java中static的含义和用法
- 统一文档服务器,统一标准化文档oraclei服务器安装基础手册.doc
- 大批程序员可能面临被劝退!
- 华为手机 运行 linux,Linux 用户玩转华为手机之华为分享
- eclipse写python怎么样_eclipse python 使用教程(怎么用eclipse写python)
- XAG一键并轨XRP媒体报道