app 一个账号不能在多个手机上同时登录

app 一个账号不能在多个手机上同时登录,后台怎么判断已经登录了呢?如果已经登录了怎么判断是不是在当前设备登录的呢? 想不懂

比如,后端有一个记录登录状态的表:user,session,expire_time。
一个设备登录账号,状态表里检查该账号是否有相应记录,且session一致:
如果没有,说明还没有登录,则正常登录;如果已有(且没过期),则询问是否“强行”登录(把之前别的设备登录记录清除),并更新session、expire_time信息。

每个手机有单独的设备号,设备号和登录帐号信息初次登录的时候存储到后台服务,下次登录的时候再传设备号和帐号过来匹配之前的存储的

方案1:
app用token登录:
登录成功后redis里面会key->value存放用户的登录信息
假设为:18888888888->sdfkshddhhdfkjdkdffk (手机号/邮箱->哈希值)
方法: 只要redis/memcache已经存在该key说明已经登录,不能再次登录
方案2:
app用user 表中的字段is_login(0/1)表示
已登录ls_login=1 否则为 0
方法: 每次登录读库查询是否为1 即可,1已经登录,不能再次登录.

登录时直接修改token就好了,之前登录的会因为token不一致直接退出的

单一系统多配备登录一般使用token机制处理的

每次登陆直接刷新Token就好了

  • php用xpath取页面中script里声明的变量值?
  • thinkphp网站从linux服务器下载到本机(window)安装出现问题
  • php问题:代理ip地址如何提取出来
  • php的wamp环境搭建问题
  • 微信授权登录code 40163
  • 怎么解析三层List json数据
  • 谁能告诉我七牛上传到底要怎么用啊,一直有错误
  • 如何讓網頁能支援emoji顯示?
  • 有一个php项目源码,如何搞清楚执行过程?画出其流程图
  • 关于android的get set方法
  • 峰值4万/s的php接口大概需要多少计算资源?