我遇到了一个使用自定义表单处理Spring Security中的登录的教程,并且在某些时候教程发表了这样的声明:
如果我们使用spring
<form:form>
,我们不需要包含标记 对于CSRF。
为什么不需要在JSTL中使用带有表单的CSRF?
希望你能提供帮助,因为CSRF并没有很好地记录,或者至少没有得到很好的解释。
答案 0 :(得分:3)
<form:form>
是使用jsp时的spring标记,这意味着他们已经在处理csfr(如果它们是自己的标记)。直接来自他们的文件:
如果您使用的是Spring MVC标签或Thymeleaf 2.1+,那么 使用@EnableWebSecurity,自动包含CsrfToken 你(使用CsrfRequestDataValueProcessor)。link