# 用CSRF保护进行测试

在测试任何非安全的HTTP方法并使用 Spring Security的CSRF保护时,必须确保在请求中包含有效的CSRF令牌。要将有效的CSRF令牌指定为请求参数,可以使用CSRF[RequestPostProcessor](request-post-processors.html),如下所示:

Java

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

Kotlin

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

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

Java

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

Kotlin

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

你还可以使用以下方法测试是否提供了无效的CSRF令牌:

Java

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

Kotlin

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

嘲笑用户模拟表单登录