限制同一用户同时登陆
来源:6-7 验证Token

点点点工程师
2018-07-19
登陆成功后返回token 用同一账号再次登陆后生成新的token 新token与原token不同 但是原token依然有效 我认为重新登陆后应该使原token失效 这样避免同一账号不同端或不同地点同时登陆操作数据 而且既然重新登陆了 原token就没有存在的意义 许多产品也是这样实现的
所以 在登陆后 应该如何设置 使得原token失效
写回答
2回答
-
潇洒走一会啊
2018-07-20
我之前用过yii yii2.0的user组件是官方默认的登录组件,他会把获取的token作为一个字段,保存在user表中,这样就确保了token的唯一性,也就是说登录的人只有携带这个唯一的token,才能正确登录
20 -
点点点工程师
提问者
2018-07-20
我有个思路:
生成token的时候加密用户id和login_time(登陆时间),注册后login_time默认一个时间比如1970年1月1号,登陆成功后将login_time设置为当前时间,解密token后,将得到的login_time和库里面的比较,如果一致且login_time不为1970年1月1日则验证成功,不一致抛出token失效异常。包括在修改密码、重置密码和退出登陆后,将login_time重新设置为1970年1月1日,这样在修改密码后使用原token也无法访问接口。
老师有没有其他更好的实现方法,还有就是TimedJSONWebSignatureSerializer 没有让token强制失效的方法吗
10
相似问题