Springboot设置Cookie

Http请求的request header中,Cookie无法通过前端设置,必须通过后端的Set-Cookie设置。

并且Cookie使用有诸多细节,详细可参考Cookie文档

众所周知,Spingboot内置了Tomcat,该依赖为

xml 复制代码
 <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-tomcat</artifactId>
 <dependency>
xml 复制代码
 <dependency>
  <groupId>org.apache.tomcat.embed</groupId>
     <artifactId>tomcat-embed-core</artifactId>
 </dependency>

返回的Cookie设置在HttpServletResponse类中。

如果后端协议使用的Https,则注意设置Cookie的SameSite属性,否则将无法使用。

如果设置父域名的Cookie,则注意使用Cookie的domain和path属性,否则其他子域名无法使用。

目前HttpServletResponse类使用的Cookie并没有添加SameSite属性,所以不能通过addCookie函数添加,只能通过addHeader函数添加。如果使用setHeader函数,则只能携带一个Cookie。

示例:

java 复制代码
response.addHeader(HttpHeaders.SET_COOKIE,"token=123;  Secure; SameSite=None; domain=.father.com; path=/");
response.addHeader(HttpHeaders.SET_COOKIE,"boeType=1; Secure; SameSite=None; domain=.father.com; path=/");

注意:domain使用父域名需要用 .father.com 。path必须为 /

相关推荐
suaizai_4 小时前
Fastjson高危漏洞紧急修复指南
spring boot
SomeB1oody8 小时前
【RustyML入门】6.3. 并行归约
开发语言·后端·机器学习·rust·教程
Profile排查笔记8 小时前
指纹浏览器哪个好?从 Profile、代理、权限和自动化能力判断是否适合
前端·人工智能·后端·自动化
用户938515635079 小时前
用 AI 结对编程从 0 搭一个"单词后台管理系统":Next.js + Supabase + Drizzle + shadcn/ui 全记录
后端·postgresql·next.js
爱学习的小邓同学9 小时前
Golang --- (1)第一个Golang程序
开发语言·后端·golang
小灰灰搞电子10 小时前
Rust+Slint 实现的“DNA双螺旋”加载动画源码分享
后端·rust·slint·加载动画
面向Google编程10 小时前
向量库不再囤数据:Milvus 3.0 零拷贝直读数据湖
后端
gugucoding12 小时前
59. 【Java】Spring Boot 入门:第一个 Web 应用
java·开发语言·spring boot
IT_陈寒12 小时前
Redis内存警告竟是因为这个不起眼的配置项
前端·人工智能·后端
Python私教12 小时前
AI 漫剧角色一进分镜就变脸?把提示词升级成“角色 ID + 镜头合同”
后端