SpringBoot配置CorsFilter
在使用SpringBoot+SpringSecurity配置用户登录时,需要配置CorsFilter,如下:然后在项目启动的时候报一下错误:10:24:01.010 [restartedMain] WARNo.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - [refresh,591] - Exception encoun
·
在使用SpringBoot+SpringSecurity配置用户登录时,需要配置CorsFilter,如下:
然后在项目启动的时候报一下错误:
10:24:01.010 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - [refresh,591] - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'securityConfig': Unsatisfied dependency expressed through field 'corsFilter'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.web.filter.CorsFilter' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
10:24:01.123 [restartedMain] INFO o.a.c.c.StandardService - [log,173] - Stopping service [Tomcat]
10:24:01.234 [restartedMain] ERROR o.s.b.d.LoggingFailureAnalysisReporter - [report,40] -
***************************
APPLICATION FAILED TO START
***************************
Description:
Field corsFilter in com.wyj.yjwu.config.SecurityConfig required a bean of type 'org.springframework.web.filter.CorsFilter' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'org.springframework.web.filter.CorsFilter' in your configuration.
该问题是因为Spring容器中没有找到CorsFilter这个Bean,需要手动配置,如下:
@Bean
public CorsFilter corsFilter() {
final UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();
final CorsConfiguration corsConfiguration = new CorsConfiguration();
List<String> list = new ArrayList<>();
list.add("*");
corsConfiguration.setAllowCredentials(true);
corsConfiguration.setAllowedOrigins(list);
corsConfiguration.setExposedHeaders(list);
corsConfiguration.setAllowedMethods(list);
urlBasedCorsConfigurationSource.registerCorsConfiguration("/**",corsConfiguration);
return new CorsFilter(urlBasedCorsConfigurationSource);
}
然后启动项目不再报错。
该问题应该算是一类型题,如果是没有找到对应的Bean的话,都会报这个错,所以只需要对其进行相应的配置就可以了。
更多推荐
已为社区贡献1条内容
所有评论(0)