Testing with CSRF Protection

在测试任何非安全的 HTTP 方法并使用 Spring Security CSRF 保护时,必须在请求中包含一个有效的 CSRF 令牌。若要将有效的 CSRF 令牌指定为请求参数,请使用 CSRF RequestPostProcessor 如下所示:

  • Java

  • Kotlin

mvc
	.perform(post("/").with(csrf()))
mvc.post("/") {
    with(csrf())
}

如果你愿意,你可以在标头中包含 CSRF 令牌:

  • Java

  • Kotlin

mvc
	.perform(post("/").with(csrf().asHeader()))
mvc.post("/") {
    with(csrf().asHeader())
}

您还可以使用以下项测试提供无效 CSRF 令牌:

  • Java

  • Kotlin

mvc
	.perform(post("/").with(csrf().useInvalidToken()))
mvc.post("/") {
    with(csrf().useInvalidToken())
}