Я получаю примерно такое сообщение об ошибке:
{timestamp: 1536511109166, status: 403, error: "Forbidden",…}
error
:
"Forbidden"
message
:
"Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'."
path
:
"/vendors/1"
status
:
403
timestamp
:
1536511109166
В проекте безопасности Spring используется прокси-сервер zuul.
zuul:
routes:
resource:
path: /resource/**
url: http://localhost:9000
sensitive-headers:
Spring Security имеет следующую конфигурацию, установленную для Spring Security, чтобы можно было использовать репозиторий токенов csrf.
@Override
protected void configure(HttpSecurity http) throws Exception {
// @formatter:off
http
.httpBasic().and()
.logout().and()
.authorizeRequests()
.antMatchers("/index.html", "/", "/home", "/login", "/vendors", "/table").permitAll()
.anyRequest().authenticated()
.and()
.csrf()
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse());
// @formatter:on
}
Я не получаю никаких ошибок при запросах на получение, но с этой ошибкой не работают только запросы на публикацию и удаление. Также я использую сервер Spring-session как redis как для прокси, так и для ресурса.
Пример расположения проекта:
https://github.com/nishantlakhara/proxy
после попытки различных методов он работал, когда я добавил http.csrf (). csrfTokenRepository (CookieCsrfTokenRepository.wi thHttpOnlyFalse ()); к серверу ресурсов.