一个账号只能登录一台设备(您已在其他设备登录被迫下线)
2022年09月21日
•
架构
•
我要评论
做用户登录时,我们一般的需求可能是一个账号只能登录一台设备,如果在其他设备登录,当前登录的客户端会被迫下线等提示弹出,如果设计呢?
做用户登录时,我们一般的需求可能是一个账号只能登录一台设备,如果在其他设备登录,当前登录的客户端会被迫下线等提示弹出,如果设计呢?
本人在做实现的时候参考了网上很多的文章思路,比较多的是客户端去轮询后端,后端会告诉你其他设备登录了。这种思路感觉是可以的,轮询的代价其实也不大,参照很多人的思路想了一个自己的思路设计,大家可以参考。
1、先设计一个token值,保存在后端用户表中,如果有多端可以设计多个token值,比如pc端tokenpc,网页端tokenweb,手机端tokensj等,因为你可能需要分开判断是否多设备登录
2、前端登录时,设计加密一个token值传递到后端,后端保存在user表中,比如是机器标志或者当前时间加密串
3、后端api设计做一个拦截,拦截前端传递过来的token值
4、api拦截后,去查询用户表中保存的token值,与新传递过来的token值比对,如果值不一样说明已经在其他设备登录
5、注意一点的是,整个思路设计是登录时都允许登录,比如登录了一个客户端,又开始登录第二个客户端,此时操作第二个登录是正常的,第一个再去调api时会返回失败提示已下线。
以上就是设计思路,实现被迫下线需求,希望有所收获!
赞 (0)
打赏
微信扫一扫
相关文章:
-
-
-
数据库分库解决方案
当业务数据量非常大,单数据库无法支撑的时候,有可能是单库已经写满了,也可能数据库读写比较频繁,已经触碰到单库的io瓶颈了,这时就需要考虑分库。下面聊一下该怎么分...
[阅读全文]
-
-
-
一、事前你相信吗?曾经有一段日子,我几乎没接到过合格的产品需求。开局几句话,技术全靠猜。总是以为简单的需求曾经,我从产品那里接到过这么一个需求:对系统的用户进行分级,不同级别的用户…
-
1.代码生成器: [正反双向](单表、主表、明细表、树形表,快速开发利器)freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面、建表sql脚本、处理类、serv…
-
-
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论