还在数据库里不太好吧,还是放在全局变量里,如application
用一个list记住每个登陆的用户,用户登陆的时候,检查list先,有的户拒绝登陆,没有的话允许登陆,并把用户记到list里,同时记到session中(这很重要),用户注销是在list的里去掉它。隔一段时间就对list里的每个用户进行检查,是在session里检查,看看该用户是不是还在线(避免用户未注销就离开),session里有的话就保留,没有的话就删掉
用一个list记住每个登陆的用户,用户登陆的时候,检查list先,有的户拒绝登陆,没有的话允许登陆,并把用户记到list里,同时记到session中(这很重要),用户注销是在list的里去掉它。隔一段时间就对list里的每个用户进行检查,是在session里检查,看看该用户是不是还在线(避免用户未注销就离开),session里有的话就保留,没有的话就删掉
我是把用户IP加到数据库内,用户登陆时检查是否存在此IP,如存在就删除此记录,插入新记录。这样有一个好处,如果之前在一电脑上登陆,没有正常退出,数据库会依然记录你的登陆信息,当你到另一电脑上登陆时,验证身份后会删除之前的记录。这样既安全又可以保证一个帐号只一个人登陆。
是用javascript来响应-正常退出及意外退出-事件呢,还是用jsp,请高手指教
我感觉记录ip到也可以,这样可解决,可一旦用户正常退出及意外退出(吊线)时怎样及时删除相应ip呢?
不要用cookie这种东西很不受欢迎,用的浏览器设置成禁止cookie,就白费了
况且,这东西经常被人删了
if (application.getAttribute("user")!=null){
//取出用户
l=(ArrayList)application.getAttribute("user);
//遍历l,存在则退出,否则加入
application.setAttribute("user",l)
}
else
{
//取出用户
l=new ArrayList();
l.add("用户");
application.setAppliation("user",l);
}
为了完整性,可以写监听程序。
如果出现异常,或者session过期需要处理