我收到类似这样的错误:
{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