上午好☀️☀️☀️️
本答案参考ChatGPT-3.5
问题描述:
在开启 CSRF 防护后,放在 WEB-INF 外的 JSP 页面没有办法获取 csrf 的 Token,使用 和 无效。
解决方案:
-
检查是否在 Spring Security 配置文件中开启了 CSRF 防护,如果没有,则需要在配置文件中开启 CSRF 防护。
-
将 JSP 页面放在 WEB-INF 目录下,这样 JSP 页面就能够获取到 CSRF Token。如果想要将 JSP 页面放在 WEB-INF 外,可以通过添加以下代码解决。
或者
-
在 JSP 页面中使用
标签。这个标签会在页面中生成一个隐藏的 input 元素,包含 CSRF Token 的值。
修改后的代码:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
登录
