登出功能

面试的时候面试官问我:一般都会要求30分钟无任何操作的情况下用户自动登出,这个是怎么实现的?

我说在用户登录的时候生成一个唯一id并且设置过期时间,将它放在redis中,每次操作都更新这个键的过期时间,这个键过期的时候就执行登出方法!

全部评论
token设置成30分钟有效期,有操作刷新就可以了吧,调用需要token的接口的时候,对于不带token的用户直接弹到登录页面。
4 回复 分享
发布于 2023-06-26 12:26 河北
redis设置token,过期时间30min,然后在接口鉴权的时候更新时间,当30min一直没更新过期,利用订阅模式获取过期key,调登出接口就好了
2 回复 分享
发布于 2023-08-11 18:04 福建
感觉想手机银行那种。redis设置好过期时间,如果前端关闭页面,redis正常过期就行,如果前端不关闭一直挂着,感觉可以考虑前端用心跳监听的方法,如果redis过期,前端监听不到心跳直接转到登录页面。
点赞 回复 分享
发布于 2023-08-06 10:23 陕西
无任何操作情况登出?1.在生成token时,将过期时间(例如30分钟)包含在token中。这样,即使token仍然在Redis中,如果它的过期时间已过,服务器也会拒绝该token。 2.在前端设置一个定时器,跟踪用户的活动。如果用户在30分钟内有活动,前端应该向服务器请求一个新的token,同时在Redis中更新该token的过期时间。如果用户30分钟没有活动,前端可以自动登出用户,或者提示用户是否需要保持登录。
点赞 回复 分享
发布于 2023-07-07 01:55 北京
xxl-job定时任务
点赞 回复 分享
发布于 2023-07-04 10:29 江西
点赞 回复 分享
发布于 2023-06-26 12:24 辽宁

相关推荐

评论
16
46
分享

创作者周榜

更多
牛客网
牛客企业服务