通常,當頁面一直保留到會話過期並且我嘗試提交POST操作時,Spring Security生成的CSRF令牌將不會與服務器的期望值匹配。在這種情況下,錯誤是預期的結果。在Spring Security中定製CSRF錯誤頁面
但是,我總是得到默認的Tomcat 403錯誤,這是非常醜陋的。它是由安全過濾器拋出的403錯誤引起的。
但是,我想攔截特定的CSRF錯誤以執行自定義操作。也就是說,以下將無法工作,因爲錯誤被拋出早得多比MVC管道
@ExceptionHandler(CsrfException.class)
public String exception(CsrfException ex)
{
log.error(ex.getMessage(), ex);
return "redirect:/index.jsp";
}
重定向到一個索引頁(或其他)似乎是一個不錯的解決方案。我如何攔截錯誤的CSRF令牌錯誤並自定義服務器響應?
500的通常意味着未捕獲的異常。你能找到一個堆棧跟蹤嗎? – holmis83
對不起,我的意思是403。我將在當前的答案 –