如何限制一个账号同时只能一个人登录

Posted 衣带渐宽终不悔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何限制一个账号同时只能一个人登录相关的知识,希望对你有一定的参考价值。

 一直以为 限制一个账号同时只能一个人登录 就是单点登录,经过网上查询,一个账号同一时间只能一个人登录和单点登录根本不是一回事。

解决思路:

  • 在数据库中创建一个内存表LoginTable(即数据库存储引擎为membory),包含两个字段(id,loginStr)。其中loginStr 用来存储 sessionId。将主键id不要设置成自增的方式。
  • 在创建用户的时候,在内存表LoginTable中添加一条数据,字段id为新建用户在用户表中的主键id,字段loginStr 先设为空
  • 在用户登录成功之后,根据用户id 去内存表查询该用户在内存表中的记录,将该记录的loginStr字段设置成 sessionId
  • 添加一个拦截器,每次请求服务器时,根据用户id去内存表中查询用户的记录并取出该记录的loginStr 字段
  • 从请求中取出sessionId,和上面查出来的loginStr字段进行对比,如果不相等,执行退出操作。

以上是关于如何限制一个账号同时只能一个人登录的主要内容,如果未能解决你的问题,请参考以下文章

中国慕课并发限制是啥意思?

Shiro学习(18)并发人数限制

6月份个人:修改Windows系统多人使用多账号同时远程登陆 并修改脚本自动生成每个用户登录日志。

投票接口压测

第三方支付框架需求文档:登录模块

Laravel --进阶篇 (单用户登录)