У меня проблемы с использованием весенней загрузки при публикации в тестовой среде, но в локальной системе все работает отлично У меня есть приложение весенней загрузки, работающее в качестве бэкенда для приложения angular 9. Они работают на разных серверах и портах. И проблема в том, что при публикации в тестировании при попытке загрузить файл я получил следующую ошибку: «заблокирован политикой CORS: тип ответа поля заголовка запроса не разрешен Access-Control-Allow-Headers в ответе перед проверкой». Код выглядит следующим образом:
// Authorization : Role -> Access
@Override
protected void configure(HttpSecurity http) throws Exception {
http.cors().and().csrf().disable().authorizeRequests().antMatchers("/public/*","/token/*").permitAll()
.antMatchers("/-/**","/actuator/**").hasRole("-")
.antMatchers("/-/**").hasRole("-")
.antMatchers("/-/**").hasRole("-")
.and()
.exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
.addFilterBefore(authenticationTokenFilterBean(), UsernamePasswordAuthenticationFilter.class);
//http.headers().frameOptions().disable();
}
@Bean
CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration configuration = new CorsConfiguration();
configuration.setAllowedOrigins(Arrays.asList("*"));
configuration.setAllowCredentials(true);
configuration.setMaxAge((long) 3600);
configuration.setAllowedHeaders(Arrays.asList("X-Requested-With","responseType",
"Content-Type", "Authorization", "Origin", "Accept", "Access-Control-Request-Method",
"Access-Control-Allow-Origin", "Access-Control-Request-Headers"));
configuration.setAllowedMethods(Arrays.asList("GET","PUT","POST","OPTIONS","DELETE"));
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", configuration);
return source;
}
У меня также есть в каждом контроллере следующая строка
@CrossOrigin(origins = "*", maxAge = 3600)
Заранее спасибо .-