当前位置: 技术问答>java相关
关于相同禁止用户同时登陆的问题,加分了
来源: 互联网 发布时间:2015-07-19
本文导语: 关于相同禁止用户同时登陆的问题,加分了 | http://oldsite.linuxaid.com.cn/developer/showdev.jsp?i=351 | 使用session绑定就可以了 或者在数据库里放一个字段登陆后就修改成不可用 用户离...
关于相同禁止用户同时登陆的问题,加分了
|
http://oldsite.linuxaid.com.cn/developer/showdev.jsp?i=351
|
使用session绑定就可以了
或者在数据库里放一个字段登陆后就修改成不可用
用户离开后改成可用
或者在数据库里放一个字段登陆后就修改成不可用
用户离开后改成可用
|
application
|
用session吧,开始用户登陆时记录一个seesion值.然后取这个seesin,如果重复就不允许登陆
|
好办,用户名是唯一的吧,登录时查一下登录用户的是否在线,如在线就不允许登录。
|
在登陆时将当前的时间用.getTime()转化成微秒然/1000/60变成分钟存入数据库,并把数据库中用户状态设置成1,在此之前查检所以状态为1的用户中是否有现在时间.getTime()/1000/60>5(说明此人已经5分钟内没有刷新过任何页)如果有经他的状态改为0,然后再用楼上的方法检查。再每页都将打开此页的时间转化成分,存入数据库!
可能乱了点,我的达表能力有限!
这个方法的缺点是,用户如果5分钟内不刷新任何页,就可以用相同的ID登陆了。或是用户死机,五分钟内他就不要再想登陆了!但我想用户又不知道这个密秘,应该没事吧,死机也得重启啊,怎么也得五分钟,呵呵
我是用这个统计在线人数,和显示人数列表的!
可能乱了点,我的达表能力有限!
这个方法的缺点是,用户如果5分钟内不刷新任何页,就可以用相同的ID登陆了。或是用户死机,五分钟内他就不要再想登陆了!但我想用户又不知道这个密秘,应该没事吧,死机也得重启啊,怎么也得五分钟,呵呵
我是用这个统计在线人数,和显示人数列表的!
|
request.getRemoteAddr()返回一个String 是本机地址要想得到服务器的地址:
import java.net.*;
public class catchserverip{
InetAddress ServerIPaddress=null;
//取得Server的IP地址
public InetAddress getServerIP() {
try { ServerIPaddress=InetAddress.getLocalHost();}
catch (UnknownHostException e) {}
return (ServerIPaddress);
}
}
就可以了
在jsp中写
String servername=catchipbean.getServerIP().getHostName();
import java.net.*;
public class catchserverip{
InetAddress ServerIPaddress=null;
//取得Server的IP地址
public InetAddress getServerIP() {
try { ServerIPaddress=InetAddress.getLocalHost();}
catch (UnknownHostException e) {}
return (ServerIPaddress);
}
}
就可以了
在jsp中写
String servername=catchipbean.getServerIP().getHostName();