import java.io.IOException; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.core.annotation.Order; import org.springframework.web.filter.OncePerRequestFilter; import org.springframework.core.Ordered; import lombok.extern.slf4j.Slf4j; @Slf4j @WebFilter("/*") @Order(Ordered.HIGHEST_PRECEDENCE) public class CrossFilter extends OncePerRequestFilter { @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { if (request.getHeader("Access-Control-Request-Method") != null && "OPTIONS".equals(request.getMethod())) { // CORS "pre-flight" request response.setCharacterEncoding("UTF-8"); response.setContentType("application/json;charset=utf-8"); String origin = request.getHeader("Origin"); response.setHeader("Access-Control-Allow-Origin", origin); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Headers", "Content-Type,X-Requested-With,Token,deviceNo,Authorization,authorization"); response.setHeader("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS"); } filterChain.doFilter(request, response); } }
跨域问题
最新推荐文章于 2021-06-07 23:08:41 发布