过滤器简单请求和复杂请求的处理

简单请求和复杂请求的

满足一下条件即为简单请求

  • 请求方式为:GET、POST、HEAD

  • 除了一下的请求字段之外,没有自定义的请求

    • Accept
    • Accept-Language
    • Content-Type
    • DPR
    • Downlink
    • Save-Data
    • Viewport-Width
    • Width
  • Content-Type的值只有以下三种

    • text/plain
    • multipart/form-data
    • application/x-www-form-urlencoded
    • 请求中的任意XMLHttpRequestUpload对象均没有任何事件监听器
      • XMLHttpRequestUpload对象可以使用XMLHttpRequest.upload属性访问
    • 请求中没有使用ReadableStream对象

    复杂请求

    非简单请求即为复杂请求。

这里就是讨论的是,复杂请求在实际的请求之前,需要发起预检请求的请求

就是这个特性在配置拦截器是遇到了大坑😒,上图片

请添加图片描述
在这里插入图片描述

发了两个请求,第一个请求就是做预检的请求,在看我的代码

package cn.choujay.tlias.config;

import cn.choujay.tlias.filter.LoginInterceptorAdapter;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;


@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoginInterceptorAdapter()).excludePathPatterns("/emp/login");
    }

}

这里我已经排查了登录界面的拦截请求了,但是后端还是不给过

2023-06-02 09:27:22.562 INFO 13012 — [nio-8081-exec-1] c.c.t.filter.LoginInterceptorAdapter : 解析失败
2023-06-02 09:27:57.712 INFO 13012 — [nio-8081-exec-4] c.c.t.filter.LoginInterceptorAdapter : 令牌为: token:eyJhbGciOiJIUzI1NiJ9.eyJpZCI6MSwiZXhwIjoxNjg1NTQ1OTY2LCJ1c2VybmFtZSI6ImppbnlvbmcifQ.H2YVMYU7qvpP0QIrF09-uGWGg5iKwUH_ay0bR-1Tjmc
2023-06-02 09:27:57.714 INFO 13012 — [nio-8081-exec-4] c.c.t.filter.LoginInterceptorAdapter : 解析失败
2023-06-02 09:28:01.403 INFO 13012 — [nio-8081-exec-3] c.c.t.filter.LoginInterceptorAdapter : 令牌为: token:eyJhbGciOiJIUzI1NiJ9.eyJpZCI6MSwiZXhwIjoxNjg1NTQ1OTY2LCJ1c2VybmFtZSI6ImppbnlvbmcifQ.H2YVMYU7qvpP0QIrF09-uGWGg5iKwUH_ay0bR-1Tjmc
2023-06-02 09:28:01.404 INFO 13012 — [nio-8081-exec-3] c.c.t.filter.LoginInterceptorAdapter : 解析失败
2023-06-02 09:28:31.924 INFO 13012 — [nio-8081-exec-8] c.c.t.filter.LoginInterceptorAdapter : 令牌为: token:eyJhbGciOiJIUzI1NiJ9.eyJpZCI6MSwiZXhwIjoxNjg1NTQ1OTY2LCJ1c2VybmFtZSI6ImppbnlvbmcifQ.H2YVMYU7qvpP0QIrF09-uGWGg5iKwUH_ay0bR-1Tjmc
2023-06-02 09:28:31.925 INFO 13012 — [nio-8081-exec-8] c.c.t.filter.LoginInterceptorAdapter : 解析失败
2023-06-02 09:28:39.563 INFO 13012 — [nio-8081-exec-9] c.c.t.filter.LoginInterceptorAdapter : 令牌为: token:eyJhbGciOiJIUzI1NiJ9.eyJpZCI6MSwiZXhwIjoxNjg1NTQ1OTY2LCJ1c2VybmFtZSI6ImppbnlvbmcifQ.H2YVMYU7qvpP0QIrF09-uGWGg5iKwUH_ay0bR-1Tjmc
2023-06-02 09:28:39.565 INFO 13012 — [nio-8081-exec-9] c.c.t.filter.LoginInterceptorAdapter : 解析失败

我后面收集了一些资料,说的要放行复杂请求的方法,使用一下代码就可以放行了

//直接放行OPTIONS请求,复杂请求,这样就可以了
if (request.getMethod().equals("OPTIONS")) {
    return true;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个不爱学习的小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值