【开发经验】客户端互踢实现思路

article/2025/9/17 23:45:15

文章目录

    • 场景如下
    • 实现思路

        踢用户实现思路、用户单个客户端登录。冻结用户实现

场景如下

  1. 每个用户只能登录一个客户端,如微信、支付宝等app,只能在一个手机登录,如果再别的手机登录,则会踢掉之前的那个。
  2. 冻结账户,账户立即下线。

        一般情况,服务器随机生成token,并以token为key,将用户信息保存在redis中,并且将token返回客户端。此思路无法做到指定用户下线。

实现思路

        如果要实现指定用户下线,token要通过固定的格式来生成。通过客户端类型、用户ID、随机字符串的随意编码来生成token。如这三个属性通过冒号隔开

web:{md5(userId)}:{随机字符串}

        另外,如果还是想让客户端更加严密,可以将如上这个key,再通对称算法加密或者base64编码一下。这样下发下去的token可能会相对安全、严谨一点。redis中还是通过这个key来保存用户信息。

image-20220829105354163

思路如上图所示:

  1. WEBIOS两个端在登录成功之后,拥有只属于当前客户端的token。这个token是由{客户端类型}:{md5(userId)}:{token} 组成,其中token可以是一个随机字符串,如UUID,这个token在用户登录成功时分配,保证不重复即可。token生成之后,将数据保存在redis中。如已经存在则替换即可
  2. Rediskey,通过{客户端类型}:{md5(userId)}组成。value保存用户信息+客户端的token
  3. 验证token是否有效时,首先检验Redis是否存在当前key,并且验证客户端的token是否与Value中一致。
  4. 互提思路:当已经登录一个IOS客户端,第二个IOS客户端登录时,虽然redis中同样Key数据还存在,但是里面的token已经变化。因此,第一个客户端将无法通过鉴权验证。
  5. 冻结用户:直接将redis的数据删除即可。

        另外,一般情况下只操作redis即可。替换redis数据或者删除redis数据。这样在客户端下一次请求时,就会鉴权失败,并且主动返回到登录页面。有一些特殊场景,无法等待到下一次http接口请求就要提示session失效。如:

  1. 腾讯视频正在看视频,登录session失效,要立刻停止视频播放。
  2. 正在登录的微信客户端,不请求任何http接口,也是可以接收消息。

        这种情况,需要通过长连接来下发消息,使得客户端收到消息之后立刻提示session失效。

        本人拙见,有更好的思路,请留言交流~


http://chatgpt.dhexx.cn/article/X5DFw0bQ.shtml

相关文章

登录超时提示+踢人下线实现(spring security)

前言 最近,说有可能要上只允许一个地方登录,还要配合信息推送,今天有空,就起个头,把登录超时、登录踢人下线一起做了。信息推送的,后面再说,留好口子就行。 一、背景 这里是spring security&am…

【LEDE】树莓派上玩LEDE终极指南-86-OpenWrt增加踢人功能

查看文章 欢迎您! 返回首页 最后修改于:2018-03-27 20:03:12 修改 导出 原理 ubus call hostapd.wlan1 del_client "{addr:AC:0D:1B:D0:60:29, reason:5, deauth:false, ban_time:0}" 步骤 修改/usr/lib/lua/luci/view/admin_status/index.ht…

Python搭建QQ机器人,监控QQ发言与进群退群,自动@新成员并屏蔽脏话踢人

目录 前言 原理 准备 go-cqhttp插件安装 nonebot框架的安装 插件的拓展 效果 警告 前言 emmmm,大家好,我叫善念。有点懒 好久没有给大家更新教程了。今天给大家带来的项目比较有趣,而且非常简单,简称 有手即可!…

用户唯一登录,最新登录挤掉以前的登录,实现踢人.

最近在做一个功能,要求是这样的:相同的账号,例如admin账号,在A电脑登录成功,然后admin账号在B电脑登录,系统发现admin账号出现了重复登录,A电脑上登录的admin账号就会被退出登录。 流程图&…

企业微信群管理员可以踢人吗?企业微信群怎么自动踢人?

我们使用企业微信运营客户时,总会有人在企业微信群里面发广告、链接,非常影响其他客户的体验,有没有什么方法将这些人踢出群聊呢? 企业微信群怎么自动踢人? 在企业微信推出群防骚扰功能之前,群管理员最无奈…

spring boot + shiro 实现登陆 踢出用户功能 (挤人) 以及UnknownSessionException异常问题 记住我功能

简介:踢出用户功能:就是限制一个账号登陆人数。 本文限定一个账号一个用户登陆,并且是挤掉前一个用户 目录 首先 pom 然后Shiro配置Bean ShiroConfigBean 然后配置 ShiroRealm(百度翻译: Realm 领域) 然…

java怎么实现踢掉在线用户_Java多人在线聊天室(3)— 踢人下线功能

作为一个聊天室,肯定会有很多人在里面聊天,那么要是有人里面捣乱怎么办?直接踢人不解释。 我们在创建数据库的时候就有这样的考虑,所以我们的账户有两种,一种是管理员,一种是普通用户。 打开的数据库&#…

Shiro实现session限制登录数量踢人下线

Shiro实现session限制登录数量踢人下线 前言实现■ 架构准备ShiroConfig ■ redis内的存储分布■ 代码修改修改 JedisSessionDAO修改 SystemAuthorizingRealm新增 ApiLogoutFilter再次修改 JedisSessionDAO 最后 前言 近年无状态登录兴起,但sessionId方式仍是主流方…

SAP SM04踢人操作(摘录)

管理员在SAP系统中,使用事物码SM04对当前登录在线用户(User)进行管理,可查看服务器全部客户端(Client)的用户的在线状态,并可以结束指定用户的会话状态,也就是强制踢出用户。 双击查…

出生率新低!1978-2020中国人口出生率、死亡率及自然增长率变迁

根据国家统计局近日发布的《中国统计年鉴2021》,2020中国人口出生率为8.52‰,再创历史新低。同时,2020中国人口自然增长率仅为1.45‰,勉强维持正增长,同样是历史新低。 下面的视频记录了1978-2020中国人口出生率、死亡…

百度迁徙大数据整理[2020+2019同期]

统筹推进疫情防控和经济社会发展工作是常态化疫情防控阶段促进中国经济恢复的必然选择。基于百度地图迁徙大数据,采用双重差分模型探究不同阶段的疫情防控措施对中国人口流动的影响。结果表明,早期的疫情超常规防控措施有效控制了人口流动,导…

【SQLPlanet】基于迁徙率等指标浅析拍拍贷逾期数据(未完待续)

1、背景介绍 拍拍贷是一家金融科技公司,2007年成立于上海,并在2017年11月10日成功于美国纽交所上市。根据官方消息,截至2018年9月30日,拍拍贷累计成交额已突破1300亿,15-29天及30-59天的逾期率分别为0.83%和1.21%&…

百度迁徙 迁入人口和迁徙规模爬虫

最近做COVID-19相关的课程项目,需要用到省级间人口迁移的数据。笔者参考改进了https://blog.csdn.net/qq_44315987/article/details/104118498 的城市间流动的代码,从百度迁徙爬取了数据,并将数据保存在同一张表内。 迁入人口 # coding:utf…

百度大数据迁徙

我记得,百度地图应该是2018年开始做每年春运出行大数据迁移,2019年加入了国庆的迁移大数据分析。这是纯免费的大数据分析数据,相当有意思,但是不作保存,每年做个记录,应该是件有价值的事。 从整体来看&…

什么是计算迁移

0 1 计算迁移背景 边缘计算将网络边缘上的计算、存储等资源进行有机融合,构建成统一的用户服务平台,按就近服务原则对网络边缘节点任务请求及时响应并有效处理。由于边缘节点能力、资源、带宽、能源等受限,计算迁移便异常重要。计算迁移是边缘…

迁徙数据平台简单介绍

引言 人口迁徙数据是研究人口流动、人口迁徙以及城市发展的重要数据源。近年来,受新冠肺炎疫情影响,以及互联网的快速发展,相关数据受到广泛关注与应用,以人口迁徙数据为基础的科学研究也层出不穷。在这里,就对几种常…

人口迁徙大数据(2019-2020年)

人口迁徙大数据具有极高的研究价值,特别是与城市群、疫情等重要话题结合起来,发表了很多核心期刊: 迁徙数据(1) 高德地图人口迁徙数据:2020年前6个月的400多万条数据,数据为日数据,…

【迁移学习】分布差异的度量以及迁移学习的统一表征方法

在文本分类中,由于文本数据有其领域特殊性,因此,在一个领域上训练的分类器,不能直接拿来作用到另一个领域上,这就需要用到迁移学习。 迁移学习是机器学习中重要的研究领域,ICML、NIPS、AAAI、ICIR等国际人工…

手把手实操系列|贷后迁徙率模型开发(上篇)

序言: 很多关注番茄风控的老铁们都知道,番茄风控的开篇就是从系统性的贷后评分卡开始的,关于贷后相关的内容,番茄不敢说是元老级别的公众号,但再怎么说也是先行者,之前的文章比如这些经典内容,您…