# 基于测试表单的身份验证

你可以使用 Spring Security的测试支持轻松地创建一个请求来测试基于表单的身份验证。例如，下面的`formLogin`[`RequestPostProcessor`]（request-post-processors.html）将向“/login”提交一篇文章，其中包含用户名“user”、密码“password”和一个有效的CSRF令牌：

Java

```
mvc
	.perform(formLogin())
```

Kotlin

```
mvc
	.perform(formLogin())
```

定制请求很容易。例如，下面将向“/auth”提交一篇带有用户名“admin”、密码“pass”和有效的CSRF令牌的文章：

Java

```
mvc
	.perform(formLogin("/auth").user("admin").password("pass"))
```

Kotlin

```
mvc
    .perform(formLogin("/auth").user("admin").password("pass"))
```

我们还可以自定义包含用户名和密码的参数名。例如，上面的请求被修改为包括HTTP参数“U”上的用户名和HTTP参数“P”上的密码。

Java

```
mvc
	.perform(formLogin("/auth").user("u","admin").password("p","pass"))
```

Kotlin

```
mvc
    .perform(formLogin("/auth").user("u","admin").password("p","pass"))
```

[嘲笑CSRF ](csrf.html)[模拟HTTP BASIC ](http-basic.html)