软件编程
位置:首页>> 软件编程>> java编程>> 关于springboot2.4跨域配置问题

关于springboot2.4跨域配置问题

作者:似水已流年  发布时间:2022-05-01 17:02:15 

标签:springboot,跨域

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


```
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.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;
   }
}

来源:https://blog.csdn.net/qq_38416500/article/details/118905401

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com