public class SystemGatewayApplication extends DefaultSpringbootInitializer { public static void main(String[] args) throws Exception { SpringApplication.run(SystemGatewayApplication.class, args); } @Bean public FilterRegistrationBean registrationTransmitAuthenticationProcessingFilter() { FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new OptionsIgnoreFilter());// ServletName默认值为首字母小写,即myServlet filterRegistrationBean.addUrlPatterns("/*"); filterRegistrationBean.setOrder(0); return filterRegistrationBean; } }
public class OptionsIgnoreFilter implements Filter, InitializingBean { public Logger logger = LoggerFactory.getLogger(this.getClass()); @Override public void afterPropertiesSet() throws Exception { // TODO Auto-generated method stub } @Override public void init(FilterConfig filterConfig) throws ServletException { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { // TODO Auto-generated method stub HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; String authUrl = WebUtils.getPathWithinApplication(request); if ("OPTIONS".equalsIgnoreCase(request.getMethod())) { preSetHeader(response); return; } filterChain.doFilter(servletRequest,servletResponse); } private void preSetHeader(HttpServletResponse response) { response.addHeader(HttpHeaders.CONTENT_TYPE,HttpHeaders.CONTENT_TYPE); response.addHeader("Access-Control-Allow-Origin", "*"); response.addHeader("Access-Control-Allow-Credentials", "true"); response.addHeader("Access-Control-Allow-Headers", "Authorization,Source,Content-type,X-Requested-With,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type, Accept-Language, Origin, Accept-Encoding"); response.addHeader("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE,OPTIONS"); } @Override public void destroy() { // TODO Auto-generated method stub } }