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。
相关推荐
zhangxueyi11 分钟前
Java实现快速排序算法
java·数据结构·算法
碎梦归途13 分钟前
23种设计模式-创建型模式之单例模式(Java版本)
java·开发语言·jvm·单例模式·设计模式
Yvonne97815 分钟前
Java八种常见的设计模式
java·设计模式
爱编程的鱼31 分钟前
C# 数据类型||C# 类型转换
java·算法·c#
一键三联啊31 分钟前
ArrayList的subList的数据仍是集合
java·开发语言
前鼻音太阳熊39 分钟前
【Spring Boot 应用开发】-06 自动配置-生成配置元数据
java·spring boot·后端
purrrew39 分钟前
【数据结构_8】栈和队列
java·开发语言·数据结构
汤永红41 分钟前
windows下git bash安装SDKMan报错Looking for unzip...Not found
java·git·sdkman
云惠科技(SEO)1 小时前
泛目录站群技术架构演进观察:2025年PHP+Java混合方案实战笔记
java·人工智能·搜索引擎
牛马baby2 小时前
Springboot 自动装配原理是什么?SPI 原理又是什么?
java·spring boot·后端