問題描述假設有兩個系統a,b以及一個sso服務,采用前后端分離的方式開發,前端訪問接口時均經過網關,這里我使用的是spring cloud gateway,我的想法是所有的接口請求都在網關層判斷token(jwt),如果請求頭里有去sso服務校驗token,成功后轉發到真實的業務服務,沒有就重定向到sso登錄頁,登陸后sso把token存在redis中問題出現的環境背景及自己嘗試過哪些方法此時用戶點開a系統的一個鏈接www.a.com/order,這個頁面有很多接口請求,也有可能一個都沒有問題1:針對接口請求,可以在網關判斷,如果是單純的前端鏈接怎么辦,我是說假設已經在b登錄了,現在請求又沒辦法到達后端忽略問題1,假設用戶在a系統登錄,sso中緩存了用戶token,并且token,用戶id返回給了系統a,以后a系統請求都攜帶token,現在用戶訪問b系統中接口,我的想法是前端傳用戶id,sso以用戶id為key查詢token,有則通過并返回給系統b請求,這樣以后系統b也可以都帶著token請求問題2:系統b如何傳用戶id,一開始系統b是沒有任何用戶信息的,這個用戶id從哪來以上是我實現sso的想法,感覺問題還有很多,如果各位有成熟的方案(最好是生產級),請直接否定,給出你的答案
2 回答

青春有我
TA貢獻1784條經驗 獲得超8個贊
如果是前后端分離的話,在每次用瀏覽器打開網頁時,都從sso服務獲取一下當前用戶的信息,這時候就能知道用戶是否已登錄了,再給路由加登錄權限的驗證,就可以實現。
- 2 回答
- 0 關注
- 1798 瀏覽
添加回答
舉報
0/150
提交
取消