Cookie的默认存储路径以及后端如何设置

问题场景

最近在写一个前后端分离的项目,需要跨域,前端开发同学遇到一个问题一直报错,本质上就是后端返回的cookie中的sessionID在前端发送http请求时无法被请求自动携带,每次htttpRequest都被后端识别为一个新的session,返回新的sessionId,无法正常通过鉴权。

解决方案

这个项目是前端通过vue配置的跨域,

配置跨域的根路径一定要和后端的根路径想同,如此后端返回的sessionId才能被正常使用。

原因如下:

  1. 想要使用cookie除了有域名,端口,协议必须一致之外,还需要满足cookie的path必须和项目根路径相同,可以查看当前网页中的cookie的path如下:

    上图中路径为一个/,代表cookie能被所有当前协议域名端口都相同的任意路径的请求使用,比如:Localhost:8080/**
    有路径的例子:

    这个cookie就只能被以下请求路径使用:
    localhost:8080/my_chatroom/
  2. 修改后端上下文路径可以修改cookie的path
    JSESSIONID cookie的默认Path通常是Web应用的上下文路径(context path)。这意味着如果你将你的Spring MVC应用部署到名为/myapp的上下文路径下,那么JSESSIONID cookie的Path也会自动设置为/myapp。因此,通过更改Web应用的上下文路径,你可以间接地更改JSESSIONID cookie的Path。
相关推荐
Mr_pyx20 分钟前
Spring AI 入门教程:Java开发者的AI应用捷径
java·人工智能·spring
Zephyr_01 小时前
Leedcode算法题
java·算法
苍煜1 小时前
Java开发IO零基础吃透:BIO、NIO、同步异步、阻塞非阻塞
java·python·nio
折哥的程序人生 · 物流技术专研2 小时前
Java面试85题图解版(一):基础核心篇
java·开发语言·后端·面试
AllData公司负责人2 小时前
通过Postgresql同步到Doris,全视角演示AllData数据中台核心功能效果,涵盖:数据入湖仓,数据同步,数据处理,数据服务,BI可视化驾驶舱
java·大数据·数据库·数据仓库·人工智能·python·postgresql
Hello.Reader2 小时前
算法基础(十)——分治思想把大问题拆成小问题
java·开发语言·算法
一只大袋鼠2 小时前
JavaWeb四种文件上传方式(下篇)
java·开发语言·springmvc·javaweb
TE-茶叶蛋3 小时前
深入研究 yudao-framework 模块:Java 编程能力提升指南
java·开发语言
逻辑驱动的ken3 小时前
Java高频考点场景题24
java·开发语言·面试·职场和发展·求职招聘
兔小盈3 小时前
多线程-(五)线程安全之内存可见性
java·开发语言·多线程