3

我收到类似这样的错误:

{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 token repo。

@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
4

0 回答 0