测试基于表单的认证

本站(springdoc.cn)中的内容来源于 spring.io ,原始版权归属于 spring.io。由 springdoc.cn 进行翻译,整理。可供个人学习、研究,未经许可,不得进行任何转载、商用或与之相关的行为。 商标声明:Spring 是 Pivotal Software, Inc. 在美国以及其他国家的商标。

你可以使用 Spring Security 的测试支持轻松地创建一个请求来测试基于表单的认证。例如,下面的 formLogin RequestPostProcessor 将向 "/login" 提交一个POST请求,输入用户名 "user"、密码 "password" 和一个有效的CSRF token。

  • Java

  • Kotlin

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

定制请求是很容易的。例如,下面将提交一个 POST 到 "/auth",用户名是 "admin",密码是 "pass",以及一个有效的CSRF token。

  • Java

  • Kotlin

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

我们还可以自定义包含用户名和密码的参数名称。例如,上述请求被修改为在HTTP参数 "u" 中包含用户名,在HTTP参数 "p" 中包含密码。

  • Java

  • Kotlin

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