解決SpringSecurity阻止ajax的POST和PUT請求,致使403Forbidden的問題

前言:
最近在整合springboot+springsecurity,在PUT請求的時候出現了403的問題,這裏記錄一下解決的過程ajax


  1. 到Spring的官網去查查SpringSecurity的參考手冊看看爲何會有403的問題

    官網是這樣解釋問題的

    SpringSecurity默認是禁止接收POST請求的,而GET是默承認以的,官網給出兩個解決方案:1是發送請求時帶上CSRF的token,2是不推薦的作法(把SpringSecurity的CSRF功能關掉)spring

  2. 在這裏,採用第一種解決方法
    在參考手冊中找到在ajax中包含CSRF的token的方法,以下

    大體就是給頁面加上兩個meta標籤,而後在頁面加載的時候完成設置,讓ajax請求都帶上CSRF的token。springboot

  3. 小問題
    固然,官網給的頁面是JSP的頁面,而我用的是thymeleaf引擎,因此它的meta標籤直接拿來用會出問題,要作一點小小的修改,以下
    這裏參考了一個博客
    .net


至此,問題解決。blog

相關文章
相關標籤/搜索