还在数据库里不太好吧,还是放在全局变量里,如application
用一个list记住每个登陆的用户,用户登陆的时候,检查list先,有的户拒绝登陆,没有的话允许登陆,并把用户记到list里,同时记到session中(这很重要),用户注销是在list的里去掉它。隔一段时间就对list里的每个用户进行检查,是在session里检查,看看该用户是不是还在线(避免用户未注销就离开),session里有的话就保留,没有的话就删掉

解决方案 »

  1.   

    用SESSON存一个标志位,登陆以后就不许在登陆了。为了防止用户不注销就关浏览器,建议给SESSON设定一个有效时段如果用户向服务器提交就将这个时段清零,要是一定的时间不清零,就认为他已经去了。
      

  2.   

    以前是用cookies 做的,保存到数据库中,再和本地比较。
      

  3.   

    建议不要用SESSION,一旦SESSION文件被损坏,所有的SESSION都不能用了。
    我是把用户IP加到数据库内,用户登陆时检查是否存在此IP,如存在就删除此记录,插入新记录。这样有一个好处,如果之前在一电脑上登陆,没有正常退出,数据库会依然记录你的登陆信息,当你到另一电脑上登陆时,验证身份后会删除之前的记录。这样既安全又可以保证一个帐号只一个人登陆。
      

  4.   

    不过我有的没有解决的地方:如果两个人在同一局域网内,他们的IP对外相同,这样会互相影响。不过我也用了SESSION来解决掉,但我觉得不完善。哪个朋友解决了请告诉我,谢谢!MailTo:[email protected]
      

  5.   

    我尝试在每个用户登录时,一旦通过验证,把用户表中的记录登录状态的字段LogStatus标记为1,默认为0,现在正在考绿当正常退出及意外退出(吊线)时,怎样及时把LogStatus重写为0?
    是用javascript来响应-正常退出及意外退出-事件呢,还是用jsp,请高手指教
      

  6.   

    to fetch
    我感觉记录ip到也可以,这样可解决,可一旦用户正常退出及意外退出(吊线)时怎样及时删除相应ip呢?
      

  7.   

    另外 to:: littleboys(littleboys
    不要用cookie这种东西很不受欢迎,用的浏览器设置成禁止cookie,就白费了
    况且,这东西经常被人删了
      

  8.   

    我觉得还是moumouren(某某人) 的方法较好,但是请问moumouren(某某人) :“放在全局变量里,如application ,用一个list记住每个登陆的用户”具体该如何实现呢?
      

  9.   

    有点类似在线用户,Application 同session的set方法,将list放入,当用户登陆时,通过遍历list,或者你可以在jsp页面中声明javabean时,申明scope=application,class=java.uitl。arraylist
      

  10.   

    ArrayList l=null;
    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);
    }
      

  11.   

    to hellomiracle(hello) 
    为了完整性,可以写监听程序。
      

  12.   

    application没有用过,如果jlj2002(杀手)的方法可以用,那不是很简单?
      

  13.   

    对于浏览器模式的,最好不要管这个事儿,或者,第二个相同名字登陆后,就把第一个强行注销。对于Application模拟式的,禁止第二个同名登陆,方法简单,自己解决吧。
      

  14.   

    其实只需要在用户登陆的时候,在数据库中写入一个登陆标志,如果这个标志表示登陆那么认为现在的登陆时非法登陆。
    如果出现异常,或者session过期需要处理