前言:
最近在整合springboot+springsecurity,在PUT請求的時候出現了403的問題,這里記錄一下解決的過程
-
到Spring的官網去查查SpringSecurity的參考手冊看看為什么會有403的問題
官網是這樣解釋問題的
SpringSecurity默認是禁止接收POST請求的,而GET是默認可以的,官網給出兩個解決方案:1是發送請求時帶上CSRF的token,2是不推薦的做法(把SpringSecurity的CSRF功能關掉) -
在這里,采用第一種解決方法
在參考手冊中找到在ajax中包含CSRF的token的方法,如下
大致就是給頁面加上兩個meta標簽,然后在頁面加載的時候完成設置,讓ajax請求都帶上CSRF的token。 -
小問題
當然,官網給的頁面是JSP的頁面,而我用的是thymeleaf引擎,所以它的meta標簽直接拿來用會出問題,要做一點小小的修改,如下
這里參考了一個博客
至此,問題解決。