SpringSecurity解決POST方式下CSRF問題
問題現(xiàn)象:HTTP Status 403-Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'
原因:Spring Security為防止CSRF(Cross-site requetst forgery跨站請求偽造)的發(fā)生,限制了除了get以外的大多數(shù)方法。
解決方案
①(后端常用):
屏蔽CSRF控制,即Spring Security不再限制CSRF,進(jìn)行配置:
@Override protected void configure(HttpSecurity http) throws Exception { ??? ?//屏蔽CSRF控制 ??? ?http.csrf().disable() ?? ?...? }
解決方案②:
定義headers,post方式提交的時候帶上headers的信息:
var headers = {}; headers['X-CSRF-TOKEN'] = "[[${_csrf.token}]]"; $.ajax({ ? ? url: url, ? ? type: "POST", ? ? headers: headers, ? ? dataType: "json", ? ? success: function(result) { ? ? } });
解決方案③:
直接作為參數(shù)提交:
$.ajax({ url: url, data: { "[[${_csrf.parameterName}]]": "[[${_csrf.token}]]" }, type: "POST", dataType: "json", success: function(result) { } });
解決方案④:
form表單提交的時候,作為隱藏參數(shù)提交
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}">
到此這篇關(guān)于SpringSecurity解決POST方式下CSRF問題的文章就介紹到這了,更多相關(guān)SpringSecurity POST CSRF 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java使用FutureTask實現(xiàn)預(yù)加載的示例詳解
基于FutureTask的特性,通??梢允褂肍utureTask做一些預(yù)加載工作,比如一些時間較長的計算等,本文就來和大家講講具體實現(xiàn)方法吧,感興趣的可以了解一下2023-06-06SpringBoot?Admin集成診斷利器Arthas示例實現(xiàn)
這篇文章主要為大家介紹了SpringBoot?Admin集成診斷利器Arthas示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06關(guān)于java四舍五入方法的基礎(chǔ)學(xué)習(xí)
這篇文章主要給大家介紹了關(guān)于java四舍五入方法的基礎(chǔ)學(xué)習(xí),這是最近做算法題的時候碰到的這個問題,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07Java多維數(shù)組和Arrays類方法總結(jié)詳解
這篇文章主要介紹了Java多維數(shù)組和Arrays類方法總結(jié)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03java客戶端Etcd官方倉庫jetcd中KeepAlive接口實現(xiàn)
這篇文章主要為大家介紹了java客戶端Etcd官方倉庫jetcd中KeepAlive接口實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,多多加薪2022-02-02詳解如何在低版本的Spring中快速實現(xiàn)類似自動配置的功能
這篇文章主要介紹了詳解如何在低版本的Spring中快速實現(xiàn)類似自動配置的功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05