最近專案採用了前後端分離的框架,前端和後台介面沒有部署到乙個站點,出現了跨域問題,什麼是跨域,這裡就不再贅述,直接說解決辦法。spring 解決跨域的方式有很多,個人採用了crosfilter的方式。具體**如下:
@bean
public corsfilter corsfilter()
配置完成後,測試呼叫,報錯401,依然不行。網上查資料得知,跨域請求會進行兩次。具體流程見下圖:
每次跨域請求,真正請求到達後端之前,瀏覽器都會先發起乙個preflight request,請求方式為options 詢問服務端是否接受該跨域請求,具體引數如下圖:
但是該請求不能攜帶cookie和自己定義的header。
由於專案中引入了spring security ,而我使用的token傳遞方式是在header中使用authorization 字段,這樣依賴spring security攔截到 preflight request 發現它沒有攜帶token,就會報錯401,沒有授權。
解決這個問題很簡單,可以使用以下配置,讓spring security 不校驗preflight request 。
再試就搞定了,但是後端直接配置支援跨域會導致兩次請求。還使用另一種方式,使用nginx **一下請求也可以。
許可權管理(一)初識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的引用 引用 的本質上是為了方便程式設計師間接修改變數的程式編寫,不需要使用指標,編譯器在內部已經...