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

相关推荐
踏浪无痕14 小时前
别再只会用 Feign!手写一个 Mini RPC 框架搞懂 Spring Cloud 底层原理
后端·面试·架构
NMBG2214 小时前
外卖综合项目
java·前端·spring boot
小徐Chao努力14 小时前
Spring AI Alibaba A2A 使用指南
java·人工智能·spring boot·spring·spring cloud·agent·a2a
用户6956194403714 小时前
前后端分离VUE3+Springboot项目集成PageOffice核心代码
后端
rannn_11114 小时前
【Git教程】概述、常用命令、Git-IDEA集成
java·git·后端·intellij-idea
我家领养了个白胖胖14 小时前
向量化和向量数据库redisstack使用
java·后端·ai编程
嘻哈baby14 小时前
NextCloud私有云盘完整部署指南
后端
Ray6614 小时前
Linux 日志处理三剑客:grep、awk、sed
后端
苹果醋314 小时前
Java设计模式实战:从面向对象原则到架构设计的最佳实践
java·运维·spring boot·mysql·nginx
陈随易15 小时前
PostgreSQL v18发布,新增AIO uuidv7 OAuth等功能
前端·后端·程序员