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


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


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

    官網是這樣解釋問題的

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

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

    大致就是給頁面加上兩個meta標簽,然后在頁面加載的時候完成設置,讓ajax請求都帶上CSRF的token。

  3. 小問題
    當然,官網給的頁面是JSP的頁面,而我用的是thymeleaf引擎,所以它的meta標簽直接拿來用會出問題,要做一點小小的修改,如下
    這里參考了一個博客


至此,問題解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM