SpringSecurity解決POST方式下CSRF問(wèn)題
問(wèn)題現(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跨站請(qǐng)求偽造)的發(fā)生,限制了除了get以外的大多數(shù)方法。
解決方案
①(后端常用):
屏蔽CSRF控制,即Spring Security不再限制CSRF,進(jìn)行配置:
@Override
protected void configure(HttpSecurity http) throws Exception {
??? ?//屏蔽CSRF控制
??? ?http.csrf().disable()
?? ?...?
}解決方案②:
定義headers,post方式提交的時(shí)候帶上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í)候,作為隱藏參數(shù)提交
<input type="hidden" th:name="${_csrf.parameterName}"
th:value="${_csrf.token}">
到此這篇關(guān)于SpringSecurity解決POST方式下CSRF問(wèn)題的文章就介紹到這了,更多相關(guān)SpringSecurity POST CSRF 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解SpringBoot Mongo 自增長(zhǎng)ID有序規(guī)則
本文主要介紹springboot基于mongodb有序id生成,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
解決import包時(shí)報(bào) Java 程序包不存在的問(wèn)題
你是否也有過(guò)在import包時(shí)idea報(bào)錯(cuò)說(shuō)這個(gè)包不存在,可是這個(gè)包我們看得到確實(shí)存在的情況,不要慌,今天這篇文章帶你徹底告別這個(gè)問(wèn)題2021-10-10
Java?map和bean互轉(zhuǎn)常用的方法總結(jié)
這篇文章主要給大家介紹了關(guān)于Java中map和bean互轉(zhuǎn)常用方法的相關(guān)資料,平時(shí)日常Java開(kāi)發(fā),經(jīng)常會(huì)涉及到Java?Bean和Map之間的類(lèi)型轉(zhuǎn)換,需要的朋友可以參考下2023-09-09

