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

[嘲笑用户](authentication.html)[模拟表单登录](form-login.html)