2016-05-18 288 views
0

我正在使用Spring Security 4.一切正常,直到我決定打開CSRF以保持網站安全。但在閱讀大量相關文件後我感到困惑。這裏是問題:Spring Security獲得CSRF令牌

我有後端服務與Spring MVC和Spring Security運行在Computer A,在Computer B我有所有的前端HTML。新我想從Computer B的網頁登錄,它總是說Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'.我認爲CSRF令牌是由Computer A生成的,但是如何獲取它以便我可以將它包含在以下請求中?

謝謝

回答

0

您是否在登錄表單中添加了如下標籤。

<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/> 

有關更多詳細信息,請參閱spring文檔。

http://docs.spring.io/spring-security/site/docs/3.2.x/reference/htmlsingle/#csrf-include-csrf-token

+0

是的。我已經嘗試過了。其實我認爲在提交請求時''{_ csrf.token}'應該替換爲真正的令牌,是嗎? –

+0

是的,這是正確的 – shankarsh15

+0

好的,那麼我的問題是,如果令牌是由Spring Security生成的,客戶端計算機如何知道它?即如何找到替換「$ {_ csrf.token}」的值。 –