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必须为 /

相关推荐
天天摸鱼的java工程师8 分钟前
Redis 集群缓存不一致?这篇把坑给你挖明白了
后端
天天摸鱼的java工程师10 分钟前
Redis 除了做缓存还能干什么?
后端
AntBlack18 分钟前
Trae Agent :能提高开发效率的功能都值亲自体验一下
后端·ai编程·trae
江梦寻1 小时前
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
开发语言·后端·python·macos·架构·策略模式
风象南1 小时前
SpringBoot的4种死信队列处理方式
java·spring boot·后端
互联网全栈架构2 小时前
遨游Spring AI:第一盘菜Hello World
java·人工智能·后端·spring
coderSong25688 小时前
Java高级 |【实验八】springboot 使用Websocket
java·spring boot·后端·websocket
Mr_Air_Boy9 小时前
SpringBoot使用dynamic配置多数据源时使用@Transactional事务在非primary的数据源上遇到的问题
java·spring boot·后端
咖啡啡不加糖10 小时前
Redis大key产生、排查与优化实践
java·数据库·redis·后端·缓存
大鸡腿同学10 小时前
纳瓦尔宝典
后端