对于最新的稳定版本,请使用 Spring Security 6.4.1! |
使用 CSRF 保护进行测试
在测试任何不安全的 HTTP 方法并使用 Spring Security 的 CSRF 保护时,必须确保在请求中包含有效的 CSRF 令牌。
要将有效的 CSRF 令牌指定为请求参数,请使用 CSRFRequestPostProcessor
这样:
-
Java
-
Kotlin
mvc
.perform(post("/").with(csrf()))
mvc.post("/") {
with(csrf())
}
如果你愿意,你可以在 header 中包含 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())
}