单一用户登录,即当前用户登录后要踢出前一个登录,即做出踢人效果,如何实现?

article/2025/9/17 23:42:56

单一用户登录,即当前用户登录后要踢出前一个登录,即做出踢人效果,如何实现?



一般情况下,用户登录,有两种方式:cookie方式,session方式。一般情况下,session方式是使用最多的。

一、关于session方式原理:

1)浏览器端发起请求,浏览器的cookie中有jsessionId,会随着http 请求,被发送到tomcat服务器端。


2)浏览器端的jsessionId,是在getSession();这行代码产生的,如果浏览器端cookie中有jsessionid,就不用新增一个jsessionid了,如果浏览器端没有jsessionid,session相关的jar包就会产生一个jsessionId,写入浏览器的cookie。


3)tomcat端的jsessionid会有一个过期时效,可以在代码中设置,也可以在web.xml配置文件中设置。

代码中设置:


web.xml配置文件中设置:


5)tomcat服务器端,会有一个定时器,看某个jsessionid是否过期(即拿当前时间-创建时间,跟该jsessionid设置的过期时间比较。那么tomcat的jsessionid的过期时效、创建时间存在哪儿呢?总得有地方存吧,不然怎么比较?)。

二、怎么实现,单一登录,实现踢人效果


1)我想到的一种方式,my:

登录过程                                                                         权限验证(即验证当前客户端是否登录过程)                                                            
1)输入登录名和密码,点击登录按钮
2)将客户端的jsessionId存入用户表的jsessionId字段,或单独建一个表。(记录当前登录的客户端,其他客户端就算其jsessionId在Tomcat中有,也跳转到登录页)
1)getsession()看能不能在tomcat端取到给相关jsessionId分配的空间(可以简单理解为,能不能再tomato端取到该jsessionId)。
2)如果取不到,跳转到登录页面。
3)如果可以取到,再看存入session的userDetail信息,通过userDetail中的用户信息去user表查,看该jsessionId是否是当前登录的客户端,如果不是则跳转到登录页面;如果是当前登录的客户端,则发起相关http 请求,返回用户所需资源。

2)网上的方式:

http://blog.csdn.net/wangmj518/article/details/48672827

可以看出也需要记载登录客户端,即浏览器端的jsessionid,写入user表中,或者单独新建一个表。
所以,这种方式和我的方式其实是一样的。

3)guo实际项目的实现方式:

很巧妙,其实就是一个token,其实就是jsessionid的作用。


login类:
每登录一次,产生一个新的token,作用其实就是jsessionid。把之前的该userid在user_app表中删除,将登录的信息写入user_app。
 

权限访问控制类:





综合来看,都是我的那种实现方法的变种,我的方法是正确的、可行的。但是我鼓励使用最后一种,因为对于非tomcat服务器,可能就没有jsessionid了。



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

相关文章

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

文章目录 场景如下实现思路 踢用户实现思路、用户单个客户端登录。冻结用户实现 场景如下 每个用户只能登录一个客户端,如微信、支付宝等app,只能在一个手机登录,如果再别的手机登录,则会踢掉之前的那个。冻结账户,账…

登录超时提示+踢人下线实现(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等国际人工…