目前情況是這樣的,授權策略是除了登陸介面,其他都需要權限。
如果用Chrome或者postman直接訪問介面,那么認證授權都正常,但是如果從前端頁面用ajax訪問的話,可以正常認證(登陸介面當然不設定權限),卻不能訪問任何其他介面,不能進入realm的授權方法,直接跳轉到登陸頁。
這種情況初看是因為ajax默認沒有攜帶cookie導致授權失敗,為此,我為ajax全域設定了允許攜帶coojie奇怪的地方來了,瀏覽器除錯發現確實所有的ajax請求也帶上了cookie,然而用前端頁面登陸之后,問題依然沒有改善,同時,如果使用firefox瀏覽器,通過前端頁面登陸到主頁,卻一切正常,可以認證,授權!!!仿佛什么都沒有發生過一樣,我猜想,是不是chrome用太久了出了問題,于是卸載并清空了所有歷史資料再重裝,chrome依然不能授權!!同樣的一套代碼,不同瀏覽器卻有截然相反的表現
uj5u.com熱心網友回復:
用啥子 cookie(session) ,改成 token 認證,前后端分離也不怕,多端適用還安全。uj5u.com熱心網友回復:
cookie 是客戶端的快取,各種瀏覽器在本地的檔案夾下存盤的方式都不一樣,要適配很麻煩,考慮走token認證uj5u.com熱心網友回復:
Shiro使用的是session只能用于單體專案轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/19303.html
標籤:Java EE
