我參考了以下有關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令牌未找到。您的會話過期」 –