app 一个账号不能在多个手机上同时登录
app 一个账号不能在多个手机上同时登录,后台怎么判断已经登录了呢?如果已经登录了怎么判断是不是在当前设备登录的呢? 想不懂
- 求java md5工具类和php md5工具类通用版
- yii2,我这些代码有什么问题,为何无法添加进表?求高人解答
- thinkphp 上传两个文件一个文件限制类型,一个不限制,而且两个文件名设置不一样,各位大牛求指教
- 安装好了homestead,输入网址之后,显示No input file specified。
- 如何得到程序运行的线程,然后关闭它。(GCD创建的线程)
- ios 有关tableview或者scrollView的滑动问题
- android数据库怎么删除列
- 网站部署时在页面头部出现了一片灰色区域,不知道什么情况?
比如,后端有一个记录登录状态的表: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就好了