我参考了以下有关csrf configuration的Spring Security文档。用Spring Security重命名CSRF令牌标题名称
似乎默认标题名称为CSRF令牌是:
<meta name="_csrf" content="${_csrf.token}"/>
<!-- default header name is X-CSRF-TOKEN -->
<meta name="_csrf_header" content="${_csrf.headerName}"/>
看来AngularJs使用下面的头名:X-XSRF-TOKEN
X-CSRF-TOKEN
,如文档中解释
- 如何更改标题名称春季安全方面?
- 这是继续进行的最佳方式吗?
- 它会影响传统的非ajax表单提交的CSRF保护,特别是XSRF参数名称吗?
您是否需要在Angular中做其他任何事情才能使其工作?我使用弹簧安全3.2与上述配置,仍然得到“期望的CSRF令牌未找到。您的会话过期” –