Spring session、set-cookie失效、跨域、每次请求sessionid不一致,Cookie sameSite坑 跨域之坑

  最近公司做的一个项目,在电脑端开发一直都没有问题,但是把项目放到微信公众号里打开网页登录的时候就会出现每次请求sessionid不一致的问题。

原因有很多,先贴图

 

 

 

 

 

 

 

session是后台生成的,由于验证码信息是放了在session里面,每次的session不一致,导致没有办法从session里面拿到响应的信息,导致这个问题是因为谷歌有一个sameSite

 

SameSite Cookie 应该是一种新的cookie属性值,我看到很多大型网站如百度都没有用到,
他是防止 CSRF 攻击 具体可看 https://www.cnblogs.com/ziyunfei/p/5637945.html

 

 

 

 

 

解决办参考:

https://blog.csdn.net/boom_man/article/details/84642040

 

1
2
3
4
5
6
7
8
@Bean
public CookieSerializer httpSessionIdResolver(){
        DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();
        cookieSerializer.setCookieName("token");
        cookieSerializer.setUseHttpOnlyCookie(false);
        cookieSerializer.setSameSite(null);
        return cookieSerializer
}

  

加上这个之后,还要把HTTP换成HTTPS才能解决问题,转换方式这里不展开讨论

posted @   石三爷  阅读(4704)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示