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

ops/2024/11/27 3:18:36/

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

         跨域是指在浏览器中,一个网页试图请求另一个域(协议、域名或端口不同)的资源时,所涉及的安全机制。在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/ops/136976.html

相关文章

Fakelocation Server服务器/专业版 ubuntu

前言:需要Ubuntu系统 Fakelocation开源文件系统需求 Ubuntu | Fakelocation | 任务一 任务一 更新Ubuntu(安装下载不再赘述) sudo -i # 提权 sudo apt update # 更新软件包列表 sudo apt upgrade # 升级已安装的软…

裸金属服务器能够帮助企业解决哪些问题?

随着网络科技的快速发展,企业业务也在不断的进行扩张和复杂化,传统的服务已经无法满足企业对于高性能和高稳定性的需求,而裸金属服务器则能够帮助企业来解决这一问题,下面我们就来具体看一下吧! 裸金属服务器能够允许应…

算法日记 33 day 动态规划(打家劫舍,股票买卖)

今天来看看动态规划的打家劫舍和买卖股票的问题。 上题目!!!! 题目:打家劫舍 198. 打家劫舍 - 力扣(LeetCode) 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金…

安装 Docker(使用国内源)

一、安装Docker-ce 1、下载阿里云的repo源 [rootlocalhost ~]# yum install yum-utils -y && yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo && yum makecache # 尝试列出 docker-ce 的版本 [rootlocalh…

指南: 如何在 MEV 项目中使用 Yul

这对我来说是一个反复出现的故事。我学习了一些 Solidity,发现了一个我想要研究的服务。代码看起来是这样的: Seaport Core: BasicOrderFulfiller.sol Solidity 代码在哪里?人们似乎不再使用普通的 Solidity 代码了 🥲 这种在智能…

Redis 过期策略和内存淘汰策略

一、过期策略 我们在set key的时候,可以给它设置一个过期时间,比如expire key 60。指定这key60s后过期,60s后,redis是如何处理的? 定时删除(Active Expiration) 原理:Redis会在后台…

java学习记录12

ArrayList方法总结 构造方法 ArrayList() 构造一个初始容量为 10 的空列表。 ArrayList(int initialCapacity) 构造一个具有指定初始容量的空列表。 实例方法 add(int index, E element) 在此list中的指定位置插入指定元素。 ArrayList<Integer> array…

神经网络问题之:梯度不稳定

梯度不稳定是深度学习中&#xff0c;特别是在训练深度神经网络时常见的一个问题&#xff0c;其本质涉及多个方面。 一、根本原因 梯度不稳定问题的根本原因在于深度神经网络的结构和训练过程中的一些固有特性。随着网络层数的增加&#xff0c;梯度在反向传播过程中会逐层累积变…