当前位置: 七九推 > IT编程>软件设计>架构 > 一个账号只能登录一台设备(您已在其他设备登录被迫下线)

一个账号只能登录一台设备(您已在其他设备登录被迫下线)

2022年09月21日 架构 我要评论
做用户登录时,我们一般的需求可能是一个账号只能登录一台设备,如果在其他设备登录,当前登录的客户端会被迫下线等提示弹出,如果设计呢?

做用户登录时,我们一般的需求可能是一个账号只能登录一台设备,如果在其他设备登录,当前登录的客户端会被迫下线等提示弹出,如果设计呢?

本人在做实现的时候参考了网上很多的文章思路,比较多的是客户端去轮询后端,后端会告诉你其他设备登录了。这种思路感觉是可以的,轮询的代价其实也不大,参照很多人的思路想了一个自己的思路设计,大家可以参考。

1、先设计一个token值,保存在后端用户表中,如果有多端可以设计多个token值,比如pc端tokenpc,网页端tokenweb,手机端tokensj等,因为你可能需要分开判断是否多设备登录

2、前端登录时,设计加密一个token值传递到后端,后端保存在user表中,比如是机器标志或者当前时间加密串

3、后端api设计做一个拦截,拦截前端传递过来的token值

4、api拦截后,去查询用户表中保存的token值,与新传递过来的token值比对,如果值不一样说明已经在其他设备登录

5、注意一点的是,整个思路设计是登录时都允许登录,比如登录了一个客户端,又开始登录第二个客户端,此时操作第二个登录是正常的,第一个再去调api时会返回失败提示已下线。

以上就是设计思路,实现被迫下线需求,希望有所收获!


(0)
打赏 微信扫一扫 微信扫一扫

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2023  七九推 保留所有权利. 粤ICP备17035492号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com