关于springboot2.4跨域配置问题

网友投稿 572 2022-12-25

关于springboot2.4跨域配置问题

关于springboot2.4跨域配置问题

1、如果只是一个简单的springboot demo,用以下配置就行

新建config类

```

import org.springframework.context.annotation.Configuration;

import org.springframework.web.servlet.config.annotation.CorsRegistry;

import org.springframework.web.servletAxHmMYRYqq.config.annotation.WebMvcConfigurer;

/**

* @author yk

* @date 2021/7/19 14:36

*/

@Configuration

public class WebConfig implements WebMvcConfigurer {

@Override

public void addCorsMappings(CorsRegistry registry) {

registry.addMapping("/**")

.allowedOriginPatterns("*")

.allowedMethods("*")

.maxAge(3600)

.allowCredentials(true);

}

}

```

2、但是实际开发中我们需要结合,spring-security、oauth2等等,就会发现上面的配置失效了,那是因为前面的Filter优先级太高了,那我们可以采取如下配置

```

import org.springframework.boot.web.servlet.FilterRegistrationBean;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.core.Ordered;

import org.springframework.web.cors.CorsConfiguration;

import org.springframework.web.cors.UrlBasedCorsConfigurationSource;

import org.springframework.web.filter.CorsFilter;

/**

* @author yk

* @date 2021/7/19 16:21

*/

@Configuration

public class CrosConfig {

@Bean

public FilterRegistrationBean corsFilter() {

CorsConfiguration config = new CorsConfiguration();

config.setAllowCredentials(true);

config.addAllowedOriginPattern("*");

config.addAllowedHeader("*");

config.addAllowedMethod("*");

UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();

source.registerCorsConfiguration("/**", config);

FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));

//这里设置优先级最高

bean.setOrder(Ordered.HIGHEST_PRECEDENCE);

return bean;

}http://

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用Spring @DependsOn控制bean加载顺序的实例
下一篇:江苏一体化政务服务平台(江苏省一体化平台网办大厅)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~