如何限制一个账号同时只能一个人登录
Posted 衣带渐宽终不悔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何限制一个账号同时只能一个人登录相关的知识,希望对你有一定的参考价值。
一直以为 限制一个账号同时只能一个人登录 就是单点登录,经过网上查询,一个账号同一时间只能一个人登录和单点登录根本不是一回事。
解决思路:
- 在数据库中创建一个内存表LoginTable(即数据库存储引擎为membory),包含两个字段(id,loginStr)。其中loginStr 用来存储 sessionId。将主键id不要设置成自增的方式。
- 在创建用户的时候,在内存表LoginTable中添加一条数据,字段id为新建用户在用户表中的主键id,字段loginStr 先设为空
- 在用户登录成功之后,根据用户id 去内存表查询该用户在内存表中的记录,将该记录的loginStr字段设置成 sessionId
- 添加一个拦截器,每次请求服务器时,根据用户id去内存表中查询用户的记录并取出该记录的loginStr 字段
- 从请求中取出sessionId,和上面查出来的loginStr字段进行对比,如果不相等,执行退出操作。
以上是关于如何限制一个账号同时只能一个人登录的主要内容,如果未能解决你的问题,请参考以下文章