前后端不分离项目中,SpringSecurity 为什么局部刷新的url 会403
时间: 2024-05-02 16:17:37 浏览: 109
对于前后端不分离的项目,SpringSecurity 会默认开启 CSRF(跨站请求伪造)保护,以防止 CSRF 攻击。当使用 AJAX 发送 POST、PUT、DELETE 等请求时,需要在请求头中加入 CSRF Token 来通过 SpringSecurity 的验证。如果没有在请求头中加入 CSRF Token,SpringSecurity 会认为该请求是不合法的,从而返回 403 错误。
在局部刷新的情况下,可以通过在模板页面中添加 CSRF Token 来解决该问题。例如,在使用 Thymeleaf 模板引擎的项目中,可以在表单中添加如下代码:
```
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
```
这样在局部刷新时,就会将 CSRF Token 加入到请求头中,从而通过 SpringSecurity 的验证。
阅读全文