保证同一个账号同时只能在一个设备上登录

这里使用redis存token


redis key设计

access_token_{token}:{userInfoJsonStr}

    用户登录成功后,把token作为key,用户信息做为value。作用:通过token可以查到userinfo

token_by_userId_{userId}:{token}

    用户登录成功后,把用户id作为key,token作为值:作用:通过userid可以查到token
    注意:两个key的过期时间一样

代码逻辑
    用户登录验证时,通过token_by_userId_{userId},查看redis中是否存在此key,如果存在,则说明,用户已经登录。根据查到的token,删掉access_token_{token},然后再去登录操作。(此过程把上一此登录的信息删掉,上一次登录的账号就会被下线。)

猜你喜欢

转载自my.oschina.net/anxiaole/blog/1785228