比如一个用户在A机上登陆后,其它电脑就不能用这个帐号登陆了?
解决方案 »
- hibernate 的一对一的关系?
- 急!!!!!!!Ajax的dwr框架
- 计算机研究性学习
- 怎么做验证码功能呢
- 导入包org.apache.commons.beanutils.BeanUtils
- 请教一下 使用webogic 9运行JSP 程序 提示 Package com.jspsmart.upload does not exist.
- 数据库连接问题和包含问题!解决者多分!求高手相助!!!!
- 请教大家,有关输出的问题.
- 获取音频文件时长
- maven+SSM登录页面,Oracle和idea
- 类似163信箱的问题
- 请问哪位大虾知道apache+tomcat5.0+jdk1.4做的网站为什么会频繁丢失session?急~
和HttpSessionBindingListener的思想差不多
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");
本地软件模式, 这样就比较简单了,可以一直通讯(类似QQ)
一般网页里面要这样的话 不是个简单的事情 考虑的事情太多
最好记录网卡MAC参数和IP同时进行 以免一些ADSL用户!
如果两次登陆ip一样 而网卡不一样 可能是网吧换机
网卡一样,ip不一样,可能是adsl
如果两者都不一样,就让他等一段时间吧!
最后活动时间(用来记录用户最后活动时间)比如online=1说明此用户已经在线,那么判断用户活动时间与系统日期间隔是否大于3分钟,如果小于那么认为用户仍然处于活动状态中,禁止登录。否则相反。用户每次活动更新最后活动时间为系统当前时间。至于间隔多少分钟,自己说的算。
但是其他的方法,基本上和数据库添加的差别不大。
没有明显的优点。