引用Spring Security 專案的跨域處理

2021-09-24 11:07:12 字數 598 閱讀 3430

最近專案採用了前後端分離的框架,前端和後台介面沒有部署到乙個站點,出現了跨域問題,什麼是跨域,這裡就不再贅述,直接說解決辦法。spring 解決跨域的方式有很多,個人採用了crosfilter的方式。具體**如下:

@bean

public corsfilter corsfilter() 12

3456

78910

1112

配置完成後,測試呼叫,報錯401,依然不行。網上查資料得知,跨域請求會進行兩次。具體流程見下圖: 

每次跨域請求,真正請求到達後端之前,瀏覽器都會先發起乙個preflight request,請求方式為options 詢問服務端是否接受該跨域請求,具體引數如下圖: 

但是該請求不能攜帶cookie和自己定義的header。 

由於專案中引入了spring security ,而我使用的token傳遞方式是在header中使用authorization 字段,這樣依賴spring security攔截到 preflight request 發現它沒有攜帶token,就會報錯401,沒有授權。

解決這個問題很簡單,可以使用以下配置,讓spring security 不校驗preflight request 。

許可權管理(一)初識spring security

pom檔案 security元件 org.springframework.boot spring boot starter security org.springframework.boot spring boot starter web 熱部署使用 org.springframework.boot...

強引用,軟引用,弱引用,虛引用

強引用就是我們通常意義上的引用,類似 object object new object 只要強引用在,就不會被gc。軟引用,這種物件就是拿來jvm拿來防止記憶體溢位的乙個措施,當jvm要進行記憶體洩露的時候就會把這種物件進行 如果記憶體還不夠,才會丟擲outofmemoryerror。softref...

引用 普通引用

引用 引用乙個指標 放在 的右邊 void change myclass p int i j 等價於 int const i j int a int b a 引用定義時必須初始化 此時b就已經建立了對a的引用 引用 的本質上是為了方便程式設計師間接修改變數的程式編寫,不需要使用指標,編譯器在內部已經...