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。
相关推荐
大梦想家a12 分钟前
基于Servlet+JSP的小区物业管理系统设计与实现(Bootstrap+MySQL)
java·servlet·bootstrap
都叫我大帅哥22 分钟前
Apache Tika 4.0 正式发布:RAG 时代文件解析的终极答案
java·spring boot·spring
ZYJCSZKJ3 小时前
基于地理位置围栏的短视频POI团购系统:LBS空间索引与流量分发实践
java·服务器·数据库
mldong8 小时前
引擎从不发一条消息:jeeflow 的两类扩展点与消息模块的分工
java·架构
君顾19 小时前
智慧零售实战指南:从技术架构到落地方案全解析
java·开发语言·零售
zhanghe6879 小时前
es的密码带有特殊字符,导出
java
pnoker10 小时前
IoT DC3 概念解读:把设备抽象成一套语义模板——位号、指令、事件与面向智能体的设备建模
java·人工智能·物联网·iot·dc3
my_realmy10 小时前
Java SE 基础学习笔记(一):面向对象、继承多态、抽象接口与异常(JDK 8)
java·多线程·并发··生产者消费者模式
天远数科10 小时前
风险治理实战:基于天远车信盟出险构建自动化理赔核保流水线
java·网络·人工智能·自动化
骇客野人11 小时前
SpringBoot电商系统用户注册、登录、留存及数据埋点设计与落地实施方案
java·spring boot·后端