前後端分離,前端如何判斷登入失效?碼農波波2019-12-03 15:03:23

這是一個我們公司的面試題。我來給你一個簡單的方案。

前後端分離的情況下後端無法透過session來判斷使用者是否處於活躍狀態,而使用者保持登陸和登陸失效則需要前端有一個完整的方案。

1、使用者登陸及登陸資訊的獲取。這個大家都知道也不多說了。這個過程一般會儲存後端回傳的使用者資料。其中包含使用者ID、令牌Token、以及過期時間(可以口頭約定)。

2、如果前端採用VUE、React或者其他技術,則需要在APP的全域性生命週期中增加全域性定時器來保持使用者的登陸狀態。

3、如果前端採用原生的html、js寫法,那麼前端在請求之前需要加一個請求攔截器,判斷Token是否有效。

最重要的是無論Token是否有效,都不能讓使用者退出到登陸介面,重新輸入密碼。使用者輸密碼的操作一般是因為Token不一致的時候賬戶存在風險,才需要重新輸入。同一臺裝置反覆輸入密碼登陸的使用者體驗非常差。