想保证一个用户一个时间只能在一个设备登录,我怎么保证

architect刘源源 发布于 06/02 22:16
阅读 2K+
收藏 4

想保证一个用户一个时间只能在一个设备登录,我怎么保证
 

加载中
1
首席撸出血
首席撸出血

维护一个user_id和access_token的缓存就OK了。

用户已登陆通过access_token获取用户信息

用户未登陆,做登陆,登陆的时候生成新的access_token,同时根据user_id拿到对应的access_token,然后清除掉access_token维护的用户信息,最后更新user_id对应新的access_token

3
郭里奥

给这台机器颁发一个机器码,用户的token需要包含机器码,请求受限制的接口时,验证token和机器码能匹配不。

1
k
ksice

分布式的话可以采取分布式验证token,单机的话session判断就够了

0
architect刘源源
architect刘源源

shiro可以保证么?要不要做一些后续处理?

0
独孤晓林

维护一个登录列表就可以呢

0
cpplc
cpplc

反向单点登录

0
暴猿
暴猿

你的环境是单机还是集群?

0
码农小胖哥
码农小胖哥

用户唯一标识 设备唯一标识 组成对 放入 redis 等缓存  登录的时候 如果 存在 验证 用户标识是否匹配 机器标识  匹配登录  否则 不能登录   如果不存在 用户标识匹配 直接登录  退出 或者超期后清除该缓存

0
mickelfeng
mickelfeng

用户登陆存储 key(用户id)--》value(生成唯一标识,并存session中),每次判断session中唯一标识是否相等,不相等强制退出

0
M
Mr_Yun
这个我之前做过,具体步骤是, 1. 维护一张登记表,用户和session表, 2. 每次登录就检测是否有已在用session,如果有则将该session设为过期,然后在覆盖原来登记表。
返回顶部
顶部