登入
- 使用者輸入賬號密碼,點選登入
- 後臺查資料庫,驗證使用者資訊
- 儲存session(預設快取過期時間為3天)
- sessionId = md5(userId + assistant +時間戳 + salt),
- 將使用者資訊儲存到key為sessionId的hash中
- 使用者資訊裡面包含
{ id:1, name: 'wanna', username: 'admin@medlinker.net', userId: 9999, imSession: 'SAJSKJNCUCABI', assistant_user: { id: 3, role: 2, name: 'wanna' } }
- 將imSession 這塊之前有邏輯了的,就簡單儲存就好
- 返回
{ "errcode": 0, "errmsg": "success", "data": { "session": "panel_assistant_session_1", "imSession": "panel_assistant_imSession_1" } }
使用者請求
在header裡面帶上Authorization: panel_assistant_session_1
所有請求過AssistantAuthenticate中介軟體
中介軟體獲取到session後,去redis檢視是否有該快取來判斷使用者是否登入這裡只判斷panel的session
退出
通過header裡的Authorization找到panel快取,通過panel的user資訊找到imSession,先刪除im的快取,在刪除panel的快取
本作品採用《CC 協議》,轉載必須註明作者和本文連結