怎样禁止用户重复登陆?

dongfei 2006-07-31 09:20:16
比如一个用户在A机上登陆后,其它电脑就不能用这个帐号登陆了?
...全文
1253 42 打赏 收藏 转发到动态 举报
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
jacky_majia_001 2006-08-03
  • 打赏
  • 举报
回复
up
dafei0320 2006-08-02
  • 打赏
  • 举报
回复
一样的,就是在数据表里做个标志,但必须得要实现对session的监听,当session超时的时候就更改数据表中的标志!如果不正常退出,就得再等上seesion超时的时间才可以再次登陆系统

应该是这样的
qkmadcat 2006-08-02
  • 打赏
  • 举报
回复
HttpSessionBindingListener
s3x4 2006-08-02
  • 打赏
  • 举报
回复
HttpSessionBindingListener这个我不懂
但是其他的方法,基本上和数据库添加的差别不大。
没有明显的优点。
TinyJimmy 2006-08-02
  • 打赏
  • 举报
回复
检索一下所有的session, 不过不同的服务器取所有的session方法不一样
youyu529 2006-08-02
  • 打赏
  • 举报
回复
数据库中添加字段
youyu529 2006-08-02
  • 打赏
  • 举报
回复
关注中
sujinlin 2006-08-02
  • 打赏
  • 举报
回复
数据库中多两个字段

在线状态标志(用来记录是否登录)
最后活动时间(用来记录用户最后活动时间)

比如online=1说明此用户已经在线,那么判断用户活动时间与系统日期间隔是否大于3分钟,如果小于那么认为用户仍然处于活动状态中,禁止登录。否则相反。

用户每次活动更新最后活动时间为系统当前时间。

至于间隔多少分钟,自己说的算。
yh1004 2006-08-02
  • 打赏
  • 举报
回复
在点击登录按钮时,用FILTER过滤一下,在WEB.XML配置中的ACTION映射中/*.do,当后缀为.do的所有操作进行过滤,自己写一个类实现FILTER
OnlyFor_love 2006-08-02
  • 打赏
  • 举报
回复
一般情况下采用设置标志位就可以 但是考虑到安全稳定的话就不行了
OnlyFor_love 2006-08-02
  • 打赏
  • 举报
回复
顶一个 关注一下
teacher1998 2006-08-02
  • 打赏
  • 举报
回复
mark
schol 2006-08-02
  • 打赏
  • 举报
回复
e...不懂!
hellking 2006-08-02
  • 打赏
  • 举报
回复
HttpSessionBindingListener 解决不了集群情况下的重复登陆。

将登陆者的帐号和sessionid绑定,放入分布式缓存中。当一个账户登陆时检查是否已经登陆,如已登陆则将先登陆的帐号打上过期标志,用户每次访问都检查到缓存中检查是否被打上过期标志。过期的帐户信息让分布式缓存自动清除,不用担心OutOfMemory的危险。

schol 2006-08-02
  • 打赏
  • 举报
回复
就这么一个功能就这么麻烦。哎。。。什么破编程啊!!
leo_llu 2006-08-02
  • 打赏
  • 举报
回复
将在线用户ID存到Vector变量中,登陆时检查ID是否存在
jalion 2006-08-02
  • 打赏
  • 举报
回复
关注中
geoh 2006-08-02
  • 打赏
  • 举报
回复
可是适用
本地软件模式, 这样就比较简单了,可以一直通讯(类似QQ)
一般网页里面要这样的话 不是个简单的事情 考虑的事情太多
最好记录网卡MAC参数和IP同时进行 以免一些ADSL用户!
如果两次登陆ip一样 而网卡不一样 可能是网吧换机
网卡一样,ip不一样,可能是adsl
如果两者都不一样,就让他等一段时间吧!
best_threewood 2006-08-01
  • 打赏
  • 举报
回复
学习,一直想问这个来着。
3feetcat 2006-08-01
  • 打赏
  • 举报
回复
ServletContext context = request.getSession().getServletContext();
HashMap userlist = (HashMap) context.getAttribute("userlist");
if (userlist != null) {//如果userlist不为空则判断userlist是否有user这个用户
Set set = userlist.entrySet();
Iterator it = set.iterator();
String removeid = null;
while (it.hasNext()) {//迭代用户列表
Map.Entry entry = (Map.Entry) it.next();
HttpSession sess = (HttpSession) entry.getValue();
User userexit = (User) sess.getAttribute("user");
String s = userexit.getUserID();
if (userId.equals(s))
removeid = sess.getId();//得到要删除的sessionID
}
userlist.remove(removeid);//如果用户已经存在则删除前面的用户
}
session.setAttribute("user", user);//添加用户
session.setAttribute("BindingNotify", new MySessionListener());//绑定监听器
return mapping.findForward("success");
加载更多回复(22)
Account Activation Overview.zip 在管理员版本里面,新开一页来显示所有等待帐号激活的用户.(管理员激活和一般用户激活).适用phpBB 版本: 2.0.0 - 2.0.1 - 2.0.2 Admin Overall Forums Permission.zip 这个hack 允许管理人员用鼠标器轻易的一点就设定所有论坛的权限。对于新手来说很适用 Admin Panel for Junior Admins and Mods.zip 允许你设定二级管理人员,并且你也可以准许二级管理人员使用你允许他们使用的所有设定。你也可以同时允许游客使用你预先设定的所有选项.phpBB Version: 2.0.0 - 2.0.1 Admin Private Messages Viewer.zip 这是对于管理员版面额外附加的程序。 它可以显示所有站内信件的列表,并且让管理员看到所有的信息。phpBB 版本: 2.0.0 Admin Server Test.zip 此hack 会测试你的server 运行功能,速度,和它是否可以新建和写文件。将来我们会提供更多的测试.phpBB 版本: 2.0.0 Admin Shadow Topic Delete.zip 管理员专用版 附加 可是显示隐藏题目连接(当你移动一个题目后遗留下的连接). 这也会显示一个题目被移动地址的连接,并且让你删除这个隐藏连接.phpBB 版本: 2.0.0 Admin Users List Hack.zip 这个hack提供一个管理您的用户的新方法: 非常有用和方便!你不需搜索任何人.phpBB 版本: 2.0.1 - 2.0.2 Admin Voting这是一个管理员版本的hack, 使得管理员们去查看投票结果,谁参预了此投票,和谁在哪里投什么票.因为牵涉到隐私问题,有这个功能的论坛应当让它的用户得知此功能已在使用.此hack是被Fabro勇敢的从Vote-teilnehmer anzeigen v.1.2.0 更正过来的.phpBB 版本: 2.0.0 - 2.0.1 - 2.0.2 Allow Avatars only with xx posts 让你的用户在发表一定贴数之后才可以使用头像. 你可以预先在管理员面版里面设定贴数.phpBB 版本: 2.0.0 - 2.0.1 - 2.0.2 Allow Disallow Signature 此hack和avatars很相似-你可以准许/不准许每个用户有自己的签名.phpBB 版本: 2.0.0 - 2.0.1 - 2.0.2 Allow Unlimited Guest Voting 此hack 允许管理员在论坛里面给所有游客设定投票的权力,并且没有登陆用户也可在此设定的论坛里面投票。此功能不附带任何跟踪功能,因此游客可以重复投票。phpBB 版本: 2.0.1 - 2.0.2 Auto Un-ban Main Admin 此hack不会防止限制高级管理员,可是此MOD可以在没错网页刷新时解除对于高级管理员的限制(假如高级管理员被限制).phpBB 版本: 2.0.0 Configurable online trading time 此hack让管理员通过控制面版查看用户在线持续时间(以秒计算)。 这个时间将会在"线上人数"里面显示.phpBB 版本: 2.0.0里面显示. " Control Panel modcp Modification 类似于悄悄话:这个功能可以让您一次选modcp里面的全部贴子。使得您更方便的选择贴子phpBB 版本: 2.0.0 - 2.0.1 - 2.0.2 Delete Inactive Users 此程序让你可以删除不活跃的用户。 它包含很多数据,如加入日期,从未登陆,等等.管理员可以建立删除用户的连接。phpBB 版本: 2.0.2 Edit Joined Date per Admin Panel 用此hack, 你可以轻松的修改用户的加入日期. phpBB 版本: 2.0.0 - 2.0.1 - 2.0.2 Edit User s Post Count 修改用户管理面版里面的用户发贴计数。如果某用户因发重复的贴因而积累了很多发贴计数,你可用此功能使得数字回复正常.phpBB 版本: 2.0.1 Enhanced Admin User Lookup 这将会代替管理员面版里面的用户搜索,以更多功能来方便管理员使用。phpBB 版本: 2.0.0 Global Annoucement Hack 此MOD让你更容易的发表使得所有版都可以看到的公告。 它支持管理员,你可以设定可以看此贴的用户,可

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧