Java 邮递员被弹簧靴CSRF保护挡住
我有一个Spring Boot应用程序,它使用cookies来保护CSRF。我知道这是可行的,但在《邮递员》中,我不能让PUT、POST或DELETE工作。我正在使用拦截器 我希望发送的cookies是:Java 邮递员被弹簧靴CSRF保护挡住,java,spring-boot,postman,csrf,Java,Spring Boot,Postman,Csrf,我有一个Spring Boot应用程序,它使用cookies来保护CSRF。我知道这是可行的,但在《邮递员》中,我不能让PUT、POST或DELETE工作。我正在使用拦截器 我希望发送的cookies是:XSRF-TOKEN=becb9b23-3fe5-4ff9-ba4c-338baea968c3,与响应XSRF令牌值相同:becb9b23-3fe5-4ff9-ba4c-338baea968c3,因此我不知道请求被阻止的原因 我知道问题出在CSRF上,因为如果我禁用它,邮递员会按预期工作 我也知
XSRF-TOKEN=becb9b23-3fe5-4ff9-ba4c-338baea968c3代码>,与响应XSRF令牌值相同:becb9b23-3fe5-4ff9-ba4c-338baea968c3
,因此我不知道请求被阻止的原因
我知道问题出在CSRF上,因为如果我禁用它,邮递员会按预期工作
我也知道CSRF是有效的,因为我已经为它建立了测试:
@WithMockUser(authorities = TEST_AUTHORITY_ACCESS)
@Test
public void testPostSomething() throws Exception {
mvc.perform(post("/something").content(TEST_BODY).with(csrf()))
.andExpect(status().isOk());
}
@WithMockUser(authorities = TEST_AUTHORITY_ACCESS)
@Test
public void testPostSomethingWithoutCsrf() throws Exception {
mvc.perform(post("/something").content(TEST_BODY))
.andExpect(status().is4xxClientError());
}
因此,基本上,如果发送了正确的cookie,并且CSRF保护按预期工作,为什么我的请求会被阻止
安全配置(WebSecurity配置适配器):
我在邮递员中收到的错误消息:
{
"timestamp": "2020-03-24T11:19:00.324+0000",
"status": 403,
"error": "Forbidden",
"message": "Forbidden",
"path": "/something"
}
{
"timestamp": "2020-03-24T11:19:00.324+0000",
"status": 403,
"error": "Forbidden",
"message": "Forbidden",
"path": "/something"
}