好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

关于springboot2.4跨域配置问题

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

```

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优先级太高了,那我们可以采取如下配置

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

```

 

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;

     }

}

到此这篇关于springboot2.4跨域配置的文章就介绍到这了,更多相关springboot跨域配置内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

原文链接:https://blog.csdn.net/qq_38416500/article/details/118905401

查看更多关于关于springboot2.4跨域配置问题的详细内容...

  阅读:14次