拦截器拦截options请求,导致无法获得自定义的请求头

package com.qyc.interceptor;

import com.qyc.cfg.SpringContextUtils;
import com.qyc.service.Varifcation;
import org.apache.ibatis.plugin.Intercepts;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.resource.ResourceHttpRequestHandler;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Enumeration;


public class AuthInterceptors implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //参数
        Enumeration<String> headerNames = request.getHeaderNames();
                while (headerNames.hasMoreElements()) {
                        String name = headerNames.nextElement();
                       //根据名称获取请求头的值
                    String value = request.getHeader(name);
                       System.out.println(name+"---"+value);
                   }
        if (request.getMethod().equals("OPTIONS")) {
            response.setStatus(HttpServletResponse.SC_OK);
            System.out.println("进入判断"+request.getMethod());
            return true;
        }
        String token = request.getHeader("x-token");
        Varifcation varifcation = (Varifcation) SpringContextUtils.getBeanByClass(Varifcation.class);
        System.out.println("tokeninin ======== " + token);
        boolean mess = varifcation.verifyToken(token);
        return mess;
    }
}

原因:https://blog.csdn.net/qq_38261174/article/details/90691058

猜你喜欢

转载自blog.csdn.net/qq_41835813/article/details/113477586
今日推荐