用 CSRF 保护进行测试

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

当测试任何非安全的HTTP方法并使用Spring Security的CSRF保护时,你必须在请求中包含一个有效的CSRF令牌。要指定一个有效的CSRF令牌作为请求参数,请像这样使用CSRF RequestPostProcessor

  • Java

  • Kotlin

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

如果你愿意,你可以在 header 中加入CSRF令牌来代替。

  • Java

  • Kotlin

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

你也可以通过以下方式测试提供一个无效的CSRF令牌。

  • Java

  • Kotlin

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