package com.dy.common.webFilter; 
 | 
  
 | 
import java.io.IOException; 
 | 
  
 | 
import jakarta.servlet.*; 
 | 
import jakarta.servlet.http.HttpServletRequest; 
 | 
import jakarta.servlet.http.HttpServletResponse; 
 | 
import lombok.extern.slf4j.Slf4j; 
 | 
import org.springframework.stereotype.Component; 
 | 
  
 | 
/** 
 | 
 * SpringBoot 跨域处理过滤器 
 | 
 */ 
 | 
@Slf4j 
 | 
@Component 
 | 
public class CROSFilter implements Filter { 
 | 
  
 | 
    @Override 
 | 
    public void init(FilterConfig filterConfig) throws ServletException { 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) 
 | 
            throws IOException, ServletException { 
 | 
        HttpServletResponse response = (HttpServletResponse) res; 
 | 
  
 | 
        //HttpServletRequest reqs = (HttpServletRequest) req; 
 | 
        /* 
 | 
         * 跨域设置允所有请求跨域 
 | 
         * 如果允许指定的客户端跨域设置: http://127.0.0.1:8020 
 | 
         */ 
 | 
        response.setHeader("Access-Control-Allow-Origin","*"); 
 | 
        response.setHeader("Access-Control-Allow-Credentials", "true"); 
 | 
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); 
 | 
        response.setHeader("Access-Control-Max-Age", "3600"); 
 | 
        response.setHeader("Access-Control-Allow-Headers", "Content-Type"); 
 | 
        if (((HttpServletRequest) req).getMethod().equals("OPTIONS")) { 
 | 
            response.getWriter().println("ok"); 
 | 
            return; 
 | 
        } 
 | 
  
 | 
        chain.doFilter(req, res); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void destroy() { 
 | 
    } 
 | 
  
 | 
} 
 |