12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package com.zhaoliangsz.grainsearch.basic.config;
- import com.zhaoliangsz.grainsearch.basic.interceptor.LoginInterceptor;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.http.converter.HttpMessageConverter;
- import org.springframework.http.converter.StringHttpMessageConverter;
- import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
- import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
- import javax.annotation.Resource;
- import javax.servlet.*;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.util.List;
- /**
- * @author : zyw
- * @date : 2023/8/17 16:56
- * @description:
- */
- @Configuration
- public class WebConfig {
- @Value("${allowed-origins:*}")
- private String allowedOrigins;
- @Value("${allowed-headers:Access-Control-Allow-Headers,Origin,Accept,X-Requested-With,Content-Type,Access-Control-Request-Method,Authorization,Access-Control-Request-Headers}")
- private String allowedHeaders;
- /**
- * 测试用,跨域访问
- */
- @Bean
- public Filter corsFilter() {
- return new Filter() {
- @Override
- public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
- throws IOException, ServletException {
- HttpServletRequest req = ((HttpServletRequest) request);
- HttpServletResponse res = (HttpServletResponse) response;
- if ("*".equals(allowedOrigins) || allowedOrigins.contains(req.getHeader("Origin"))) {
- res.setHeader("Access-Control-Allow-Origin", req.getHeader("Origin"));
- // res.setHeader("Access-Control-Allow-Origin", allowedOrigins);
- }
- res.setHeader("Access-Control-Allow-Credentials", "true");
- res.setHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT, OPTIONS");
- res.setHeader("Access-Control-Allow-Headers", allowedHeaders);
- if ("OPTIONS".equals(req.getMethod())) {
- response.getWriter().println("ok");
- return;
- }
- chain.doFilter(request, response);
- }
- @Override
- public void init(FilterConfig filterConfig) throws ServletException {
- // ignore
- }
- @Override
- public void destroy() {
- // ignore
- }
- };
- }
- }
|