社区
Java EE
帖子详情
关于重复登陆的问题,如何使得先前登录的用户强制退出。
howloncampus
2008-10-28 03:47:31
本人菜鸟望各位大侠不要见笑:
本人做登陆画面,先前比较传统的用户ID和密码验证不说,说说我遇到的问题:
本人想限制用户的重复登陆,(判断重复登陆的代码已经完成),但是当我判断出用户重复登陆后,我想让先前登录的那个人强制退出,让自己强制登陆。请问如何实现?
谢谢
...全文
520
14
打赏
收藏
关于重复登陆的问题,如何使得先前登录的用户强制退出。
本人菜鸟望各位大侠不要见笑: 本人做登陆画面,先前比较传统的用户ID和密码验证不说,说说我遇到的问题: 本人想限制用户的重复登陆,(判断重复登陆的代码已经完成),但是当我判断出用户重复登陆后,我想让先前登录的那个人强制退出,让自己强制登陆。请问如何实现? 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
FlameLiu
2008-10-29
打赏
举报
回复
我觉得可以这样做。首先在ServletContext中存放一个Map,key为登陆名,value为该用户对应的Session(在ServletContextListener中做这件事),之后只要有用户登陆就根据该用户的登陆名到Map中去查一下,发现已经有Session的就让它失效(调用invalidate()),之后再将新的Session放到Map中。并且在你的web应用中加一个Filter,用于检查Session中是否有用户登陆信息,没有则强制返回登陆页面(由于调用了Session的invalidate()方法,肯定将先登陆用户的Session中的用户信息去除了)。
qiaodan814
2008-10-28
打赏
举报
回复
回楼上 你说的都知道,问题是怎么实现。 问题归结为,怎么拿到别人的session然后改状态。
非典型射手
2008-10-28
打赏
举报
回复
应该是每次在验证session的之前首先验证登陆地,就是说如果帐号在别处登陆了,即使我的session中是登陆状态,也要看成是退出状态,并且清除session中保留的信息
qiaodan814
2008-10-28
打赏
举报
回复
顶楼上。 怎么得到其他用户的session。 有没有达人告知。
freedom2001
2008-10-28
打赏
举报
回复
清除session?你这个session在哪?客户端的session你是清不了的,不用异地,你自己机器开2个窗口看看能不能清
海诗美妆
2008-10-28
打赏
举报
回复
[Quote=引用 8 楼 howloncampus 的回复:]
回楼上:我已经用Application实现了判断用户是否重复登录的功能了。。。。现在我要做的是想让远程登录的人强制下线。。。例如:你在苏州用我的帐号登录了,,,但是我现在在无锡也在用同样的帐号登录同一个系统,我现在已经能判断出来此帐号已经在苏州登录了,我需要作的是想让你强制下线,请问如何实现?
[/Quote]
清除session,返回相应的信息
UI方面就靠你的客户端了,要么javascript要么其他什么客户端程序。
如果还不理解,重新理解一下HTTP通信协议
howloncampus
2008-10-28
打赏
举报
回复
回楼上:我已经用Application实现了判断用户是否重复登录的功能了。。。。现在我要做的是想让远程登录的人强制下线。。。例如:你在苏州用我的帐号登录了,,,但是我现在在无锡也在用同样的帐号登录同一个系统,我现在已经能判断出来此帐号已经在苏州登录了,我需要作的是想让你强制下线,请问如何实现?
海诗美妆
2008-10-28
打赏
举报
回复
[Quote=引用 3 楼 howloncampus 的回复:]
回2楼:在我所了解的范围内,session是基于对话的,也就是我本机登陆和别人用别的机器远程登录属于不同的对话,如果这边可以或的别人的会话的话那么这个问题应该比较简单,但是我不知道如何获取别的登录用户的session,期待指教。
回3楼:在概要设计阶段没有设计数据库用户表中有一个登陆时间的字段。不好意思
清大家踊跃发言。。谢谢啊
[/Quote]
1.返回概要设计,修改数据库!
2.contenxt全域管理用户登录时间——方法类似用数据库管理
rcom10002
2008-10-28
打赏
举报
回复
如果不能用数据库,写文件好了
howloncampus
2008-10-28
打赏
举报
回复
回4楼:大哥,,如果概要设计时候数据库设计能有这个字段,我就没那么多烦恼啦。。唉。。。
忙碌的布谷鸟
2008-10-28
打赏
举报
回复
估计需要在数据库中添加字段,保存用户登陆状态(true,false)
session连接时,判断是否登陆,为true时,说明已经登陆。进行处理
为False时,没有登陆,可以登陆
session关闭时,将登陆状态设置成false。
注意同步机制的使用。
howloncampus
2008-10-28
打赏
举报
回复
回2楼:在我所了解的范围内,session是基于对话的,也就是我本机登陆和别人用别的机器远程登录属于不同的对话,如果这边可以或的别人的会话的话那么这个问题应该比较简单,但是我不知道如何获取别的登录用户的session,期待指教。
回3楼:在概要设计阶段没有设计数据库用户表中有一个登陆时间的字段。不好意思
清大家踊跃发言。。谢谢啊
海诗美妆
2008-10-28
打赏
举报
回复
用户桌面数据中保存最后的登陆时间,
所有登录的session在登陆时保存一个登陆时间,
每次访问相应的连接,都对数据库中的登陆时间和session中的登陆时间做对比,
如果,数据库中的登陆时间比session中的登陆时间早,证明有人从另一台电脑重新登陆,就可以提示相应的信息。
类似于MSN(MSN是基于web的聊天软件)。
但是,大多数web程序不需要这种功能,MSN比较特殊。
jianpc
2008-10-28
打赏
举报
回复
难道不是session嘛?
Asp.net项目同一个
用户
后
登录
把前面
登录
的踢下线的两种实现方法
1、 使用长连接实现,这种方法建议使用开源的signalR框架; 2、不使用长连接,
用户
登录
系统后,分配一个GUID,主页面定时刷新,对GUID进行匹配,如果符合,不
退出
系统;不符合,说明这个
用户
名已经在其它地方
登录
了,这时
退出
系统。场景说明:甲使用admin
用户
,
登录
成功,分配了111这个GUID,主页面每隔20秒刷新一次。过了半个小时,乙也使用admin
用户
登录
,分配了222这个GUID,甲
session
登录
控制 后一个踢掉前一个
最近实现项目中的
用户
重复
登录
控制,即新
用户
登录
使前一个
登录
的
用户
强制
下线 ,思路是这样的,在前台主页面写一个程序定时向后台发送请求获取后台信息来判断session是否失效,若失效
强制
下线。 (SSM框架为例) 一 Controller层 1. 定义两个全局MAP 来存放
用户
的
登录
帐号(userId),session和sessionId //userid,session publ
java
强制
下线 session_Session管理之超时设置和
强制
下线
关于Session,在Java Web开发中,为我们提供了很多方便,Session是由浏览器和服务器之间维护的。好吧,闲话不多说,下面让我们一步一步来实现它们。(一)首先来说下Session超时时间设置的三种方式,这些相对来说比较简单:(1)在web.xml中设置session-config<session-config><session-timeout>2</ses...
同一账号不能多地
登录
(限制同一账号同一时刻只能一个
用户
登
解决四个
问题
: 1. 实现在线
用户
列表 2. 当
用户
在异地
登录
后,使前一次
登录
自动
退出
3. 关闭浏览器,session失效,该session对应当前
登录
用户
将会从在线列表移除, 4.
用户
正常
退出
,session失效,该session对应当前
登录
用户
将会从在线列表移除, 实现方法:
用户
登录
时,会创建一个session,用于保存
用户
信息。将所有
用户
登录
时的session值与ID存入...
同一账号不能多地
登录
(限制同一账号同一时刻只能一个
用户
登录
使用,向QQ一样)...
解决四个
问题
: 1. 实现在线
用户
列表 2. 当
用户
在异地
登录
后,使前一次
登录
自动
退出
3. 关闭浏览器,session失效,该session对应当前
登录
用户
将会从在线列表移除, 4.
用户
正常
退出
,session失效,该session对应当前
登录
用户
将会从在线列表移除, 实现方法:
用户
登录
时,会创建一个session,用于保存
用户
信息。将所有
用户
登录
时的session...
Java EE
67,550
社区成员
225,865
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章