使用Thymeleaf模板的th:action属性配置了Form表单数据修改后的请求路径,表单中无需提供携带CSRFToken信息的隐藏域。
时间: 2024-03-26 13:42:31 浏览: 225
不完全正确。在使用Thymeleaf模板的表单中,如果使用th:action属性配置了表单提交的请求路径,那么在表单中需要提供携带CSRF Token信息的隐藏域,以保证表单提交的安全性。
在Spring Security中,启用了CSRF保护机制。它会检测所有的非GET请求中是否包含CSRF Token信息。如果请求中没有包含CSRF Token信息,那么请求就会被拒绝,返回状态码为403。因此,在使用Thymeleaf模板的表单中,我们需要在表单中添加一个隐藏域,用于携带CSRF Token信息。我们可以通过Thymeleaf的标签th:csrf来生成这个隐藏域。
例如,下面是一个使用Thymeleaf模板的表单示例:
```
<form th:action="@{/user/update}" method="post">
<input type="text" name="username" th:value="${user.username}" />
<input type="password" name="password" th:value="${user.password}" />
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}" />
<button type="submit">提交</button>
</form>
```
在这个表单中,我们使用th:action属性来配置表单提交的请求路径,同时也添加了一个隐藏域,用于携带CSRF Token信息。这样,当用户提交表单时,CSRF Token信息也会随着表单一起提交,从而确保了表单提交的安全性。
阅读全文