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

相关推荐
爱装代码的小瓶子10 小时前
【C++与Linux基础】进程间通讯方式:匿名管道
android·c++·后端
程序员良许10 小时前
嵌入式处理器架构
后端·单片机·嵌入式
MrSYJ10 小时前
Redis 做分布式 Session
后端·spring cloud·微服务
Cache技术分享10 小时前
318. Java Stream API - 深入理解 Java Stream 的中间 Collector —— mapping、filtering 和 fla
前端·后端
Elieal10 小时前
SpringBoot 数据层开发与企业信息管理系统实战
java·spring boot·后端
识君啊10 小时前
MyBatis-Plus 逻辑删除导致唯一索引冲突的解决方案
java·spring boot·mybatis·mybatis-plus·唯一索引·逻辑删除
Coder_Boy_10 小时前
Java开发者破局指南:跳出内卷,借AI赋能,搭建系统化知识体系
java·开发语言·人工智能·spring boot·后端·spring
独自破碎E10 小时前
BISHI23 小红书推荐系统
java·后端·struts
Aric_Jones10 小时前
idea使用.env运行SpringBoot项目
java·spring boot·intellij-idea
gustt10 小时前
构建全栈AI应用:集成Ollama开源大模型
前端·后端·ollama