解決前后端分離時spring Security 即使操作成功也會拋出權限不足的情況


前后端分離+spring Security 操作其實成功了,但中途總是會拋出異常說沒有權限,利用swagger或者postman測試都不會有這種問題,

但通過前端測試時,后端打斷點時就會發現總是會請求兩次,一次沒有權限,一次檢測到有權限,雖然有異常,但是不影響使用

同一個請求,出現兩次權限驗證

第一次沒有權限

 

緊接着第二次就通過了

這是我自定義的AccessDecisionManager

 

 

 

 

 后來發現是因為瀏覽器對復雜跨域請求的一種處理方式,在真正發送請求之前,會先進行一次預請求,也就是OPTIONS,OPTIONS的第一次請求,他的作用是用於試探性的服務器響應是否正確,即是否能接受真正的請求,所以到后端的時候會有一個Request Method參數是OPTIONS,還有一次就是我們真正的請求,比如get或是post請求方式,也就是兩次,第一次沒有token 所以會拋異常

所以只要在代碼中添加一個關於OPTIONS操作的權限管理就行了

 

 

問題解決

 


免責聲明!

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



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