Я пытался добавить простую CorsRegistry в приложение SpringBoot.Я следовал за ответом Кинжал Гилберта Аренаса в вопросе Spring Boot Security CORS , используя Вариант 1. Тем не менее, я по-прежнему генерирую ошибку CORS при попытке добраться до моего сервера с помощьюReact.С помощью Postman все работает так, как задумано, поэтому я знаю, что в моей конфигурации должны быть какие-то ошибки, я просто не могу ее найти.
Мой файл настроек безопасности:
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http .cors().and().csrf().disable()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.addFilter(new JwtAuthenticationFilter(authenticationManager()))
.addFilter(new JwtAuthorizationFilter(authenticationManager(), this.userRepository))
.authorizeRequests()
.antMatchers(HttpMethod.POST, "/login").permitAll()
.antMatchers("/iotd").hasRole("USER")
.anyRequest().authenticated();
}
}
Мой файл CorsConfig
@Configuration
public class CorsConfig {
private static final Logger logger = LoggerFactory.getLogger(CorsConfig.class);
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
logger.info("CORS implemented");
registry.addMapping("/**")
.allowedMethods("GET", "POST")
.allowedHeaders("*")
.allowedOrigins("*");
}
};
}
}
После запуска запускается регистратор, который сообщает, что реестр CORS реализован.
Затем я выбрал второй вариант из его ответа, используя CorsConfigurationBean,но проблема сохраняется.
Я применил метод Filter, но даже при применении фильтра перед остальными настройками безопасности проблема сохранялась.