Spring Session 跨域时 Cookie SameSite 问题

SameSite 是一种新的cookie属性值,用来防止CSRF攻击,具体可看:

https://www.ruanyifeng.com/blog/2019/09/cookie-samesite.html

它有两个属性

Strict:严格模式,完全禁止第三方 Cookie,跨站点时,任何情况下都不会发送 Cookie

Lax:宽松模式,允许Get请求的第三方Cookie,其他请求依然禁止。

Spring-session 默认把SameSite 设置成Lat,使用spring session进行session管理,当其他系统需要跨域请求这个系统时就会出现每一次请求的SESIONID都会变得情况。

需要对生成的cookie进行修改,去掉SameSite属性或者改为None

@Bean public CookieSerializer httpSessionIdResolver(){ DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer(); cookieSerializer.setCookieName("token"); cookieSerializer.setUseHttpOnlyCookie(false); cookieSerializer.setSameSite(null); return cookieSerializer; }

__EOF__

本文作者yg0070
本文链接https://www.cnblogs.com/yg0070/p/13848049.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   yg0070  阅读(1964)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示