我的場景是前台為react也就是基於axios進行請求的
后台就是通俗的java后台服務,具體實現步驟如下
1)首先前台進行發送登錄請求,后台進行登錄校驗
2)后台生成token,返回給前台,前台可以將之保存在瀏覽器中的sessionStorage或者localStorage
3)后台將之token校驗信息(用戶信息),token為key,用戶信息為value保存在redis緩存數據庫中,且可設置過期時間
4)前台后面每發送一次請求,后台通過攔截器進行攔截下來,將之token進行校驗
注意:這個有個問題,如果request中的流在攔截器中被讀取過后不進行重置處理,controller讀取不到任何信息,所以還需進行過濾器對request進行封裝處理
5)在校驗過程中,如果存在用戶信息,則更新token時間,如果不存在則直接返回失效
6)前端在接收到token失效時,將前台的用戶信息清除,退出登錄