关于同一账号多人同时登录的token重复问题

最近在项目上遇到了一个同一账号多终端(或者说多用户)同时登录导致的token重复问题。可以在浏览器相应地做一些防止表单重复提交的操作,比如登录按钮点击一次后变成不可点击的状态,等待服务器的响应之后再恢复成点击状态。不过这也并不能解决同一账号多终端登录的问题。

https://github.com/bluesnail9...

项目中的伪代码如下:
User user = getUser(username,password);
if(null != user) {
    String token = findToken(user);
    if(null != token) {
    user.deleteToken(user);
        token = null;
    }
    if(null == token){
        user.insertNewToken(user);
    }    
}else {
    throw new Exception("用户不存在");
}
想一想:

为什么会出现token重复的问题?因为同一账号多用户(或者多终端)同时登录时都进入到了if(null == token)这个语句,所以就向数据库中插入了多个token,但是按道

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值