redis储存用户登录信息
登录
- 用户输入账号密码,点击登录
- 后台查数据库,验证用户信息
- 储存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 协议》,转载必须注明作者和本文链接
推荐文章: