• Springetway 如何解决跨域的


    Spring Boot提供了一些配置来处理跨域问题。下面是几种解决跨域问题的方法:

    1、使用CORS过滤器:在Spring Boot应用程序中,可以创建一个CORS过滤器,用于允许来自不同域的请求访问受保护的资源。要创建CORS过滤器,可以使用Spring Security或者自定义一个简单过滤器。

    使用Spring Security:

    @Configuration@EnableWebSecurity
    public class SecurityConfig extends WebSecurityConfigurerAdapter {    
    @Override    
    protected void configure(HttpSecurity http) throws Exception {        
       http      // ...          
      	.cors().and().csrf().disable();  
        }
     }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    自定义过滤器:

    @Component
    public class CorsFilter implements Filter {    
    	@Override    
    	public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {        
    			HttpServletResponse response = (HttpServletResponse) res;        
    			HttpServletRequest request = (HttpServletRequest) req;        
    			response.setHeader("Access-Control-Allow-Origin", "*");        
    			response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");              response.setHeader("Access-Control-Max-Age", "3600");       
    			response.setHeader("Access-Control-Allow-Headers", "x-requested-with");        
    			chain.doFilter(req, res);   
    	  }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    将自定义过滤器添加到Spring Boot应用程序的配置中。

    2、配置CORS属性:在Spring Boot应用程序的配置文件中,可以添加以下属性来配置CORS:

    #application.properties
    spring.mvc.cors.allowed-origins=http://example.com,http://sub.example.comspring.mvc.cors.allowed-methods=GET,POST,PUT,DELETE,OPTIONS
    spring.mvc.cors.allowed-headers=X-Requested-With,Content-Type,Origin,Access-Control-Request-Method,Access-Control-Request-Headersspring.mvc.cors.max-age=3600
    
    • 1
    • 2
    • 3

    3、使用@CrossOrigin注解:在控制器类或方法上使用@CrossOrigin注解,可以指定哪些域可以访问受保护的资源。

    例如:

    @RestController
    @CrossOrigin(origins = "http://example.com")
    public class MyController {    
    }
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    渗透测试工具(最全集合)
    Java入门教程(5)——开发第一个Java程序
    Nginx详细入门--配置理解,反向代理负载均衡,限流,高可用,防盗链等
    lunar-1.5.jar
    恒合仓库 - 用户管理、用户列表、为用户分配角色
    MaixII-Dock(v831)学习笔记——MaixII-Dock初使用
    一个合格的vue工程师必会的20道面试题
    技术分享 | 接口自动化测试如何处理 Header cookie
    excel FORMULA
    Java架构师基础框架设计
  • 原文地址:https://blog.csdn.net/qq_39311377/article/details/133485053