使用CSRF保护进行测试

在测试任何非安全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())
}