前后端分离,后端拦截器无法获得前端请求的token

news/2024/11/27 16:50:08/

       首先需要了解两个知识点:

         跨域是指在浏览器中,一个网页试图请求另一个域(协议、域名或端口不同)的资源时,所涉及的安全机制。在Web开发中,一般来说,由于安全性原因,浏览器会阻止一个域访问另一个域的数据,这种限制称为同源策略(Same-Origin Policy)。

        进行跨域请求时,浏览器会先发送一个OPTIONS请求,以确认目标服务器允许特定的请求方法和头。

        关键来了,这个自动发送的options请求,是不会带有我们的token的。而路径却是跟我们实际请求一致,因此同样会被拦截器拦截。所以即便我们设置了cros的config,options也会因为没有token而被拒绝,而实际带有token的请求却因为options被拒绝而没有发送。

        解决办法:

        在拦截器中加入以下代码,在识别到是OPTIONS请求时通过

java">if ("OPTIONS".equalsIgnoreCase(request.getMethod())) {response.setStatus(HttpServletResponse.SC_OK);return false; // 不继续处理后续逻辑}


http://www.ppmy.cn/news/1550393.html

相关文章

Flink学习连载文章8--时间语义

Time的分类 (时间语义) EventTime:事件(数据)时间,是事件/数据真真正正发生时/产生时的时间 IngestionTime:摄入时间,是事件/数据到达流处理系统的时间 ProcessingTime:处理时间,是事件/数据被处理/计算时的系统的时间 EventTime的重要性 假设,你正在去往地下停…

Diffusion异常检测相关论文及代码整理

扩散模型(Diffusion Models)是一种生成模型,广泛用于图像生成、文本生成等领域。在异常检测任务中,扩散模型也可以被用来识别和检测异常数据点。该文章对近几年利用扩散模型进行异常检测的文章进行了整理: 2024 1. A…

利用c语言详细介绍下希尔排序

希尔排序是针对插入排序的优化算法。它是缩少增量的算法,一开始增量从元素个数len/2的增量开始,然后缩小增量gapgap/2,直到gap为1,最终完成序列排序。 一、图文介绍 我们还是使用数组【10,5,3,2…

CentOS 7 安装部署 KVM

1.关闭虚拟机 打开相关选项 打开虚拟机centos7 连接xshell 测试网络,现在就是没问题的,因为我们要使用网络源 安装 GNOME 桌面环境 安装KVM 模块 安装KVM 调试工具 构建虚拟机的命令行工具 qemu 组件,创建磁盘、启动虚拟机等 输入这条命令,…

图像处理里的傅里叶变换:原理与代码实现

简介:本文围绕傅里叶变换在图像处理中的应用展开。先是以通俗易懂的方式详细阐释了傅里叶变换的核心理论,涵盖为何选用正弦和余弦、空间域到频率域的转换以及幅度图像和相位图像的含义等内容,帮助读者理解其原理。接着通过具体代码示例&#…

POA-CNN-SVM鹈鹕算法优化卷积神经网络结合支持向量机多特征分类预测

分类预测 | Matlab实现POA-CNN-SVM鹈鹕算法优化卷积神经网络结合支持向量机多特征分类预测 目录 分类预测 | Matlab实现POA-CNN-SVM鹈鹕算法优化卷积神经网络结合支持向量机多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现POA-CNN-SVM鹈鹕算法…

Java基础面试题03:简述什么是迭代器(Iterator)?

面试题:简述什么是迭代器(Iterator)? 一、什么是Iterator? 迭代器(Iterator)是一个专门用来遍历集合(如数组、列表等)中的元素的对象。它可以帮助开发者按照一定的规则顺序访问集合中的每一个…

Python绘制太极八卦

文章目录 系列目录写在前面技术需求1. 图形绘制库的支持2. 图形绘制功能3. 参数化设计4. 绘制控制5. 数据处理6. 用户界面 完整代码代码分析1. rset() 函数2. offset() 函数3. taiji() 函数4. bagua() 函数5. 绘制过程6. 技术亮点 写在后面 系列目录 序号直达链接爱心系列1Pyth…