Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 邮递员被弹簧靴CSRF保护挡住_Java_Spring Boot_Postman_Csrf - Fatal编程技术网

Java 邮递员被弹簧靴CSRF保护挡住

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上,因为如果我禁用它,邮递员会按预期工作 我也知

我有一个Spring Boot应用程序,它使用cookies来保护CSRF。我知道这是可行的,但在《邮递员》中,我不能让PUT、POST或DELETE工作。我正在使用拦截器

我希望发送的cookies是:
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"
}