使用 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())
}