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

你可以使用 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 模拟HTTP BASIC