Я прочитал много потоков и решений по этой проблеме (включая это решение SO), но у меня все еще есть ошибка 403, когда отправка предварительных запросов.
Я использую Spring Data Rest и могу хорошо работать со своими репозиториями, пока не отправлены ОПЦИИ. Я пока не использую Spring Security, но планирую настроить его в ближайшее время. Вот моя текущая конфигурация:
@Configuration
public class GlobalRepositoryRestConfigurer extends RepositoryRestConfigurerAdapter {
@Override
public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
config.getCorsRegistry().addMapping("/**").allowedOrigins("*").allowedHeaders(
"*").exposedHeaders("Location").allowedMethods("GET", "PUT", "POST", "DELETE",
"OPTIONS");
}
@Bean(name = DispatcherServletAutoConfiguration.DEFAULT_DISPATCHER_SERVLET_BEAN_NAME)
public DispatcherServlet dispatcherServlet() {
DispatcherServlet dispatcher = new DispatcherServlet();
dispatcher.setDispatchOptionsRequest(true);
return dispatcher;
}
}
Я также попробовал вариант application.properties
и установил для allowedMethods
значение "*"
, но в итоге я получил 403, несмотря ни на что. Ниже приведены заголовки запроса/ответа, которые я получил от запроса OPTIONS.
Заголовки запроса
Accept text/html,application/xhtml+xm…plication/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3
Access-Control-Request-Headers content-type
Access-Control-Request-Method POST
Connection keep-alive
Host localhost:8080
Origin http://localhost:4000
Referer http://localhost:4000/
User-Agent Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/64.0
Заголовки ответов
Allow GET, HEAD, POST, PUT, DELETE, OPTIONS, PATCH
Content-Length 20
Date Sun, 30 Dec 2018 08:49:00 GMT
Вы видите что-то неправильное или что-то еще, что я мог бы попробовать?
allowMethods
работает (существует несоответствие между заголовками conf и ответов, которые я опубликовал, но я думаю, что я скопировал запрос, сделанный с моей предыдущей conf, в которой было разрешено больше методов), а такжеexposeHeaders
. - person Carrm   schedule 31.12.2018