当断当前用户登录的最好办法就是用Session了,还有比这个更好更方便的吗?当前用户的信息是要不断读取用来判断权限、功能等其他一系列东西的,不放在Session里你怎样得到?!

解决方案 »

  1.   

    你的用户一登录就在session中加入一个user属性,以后每次只要看看session中这个user属性是否为null就可以判定出来了:为空就是session已经过期了
      

  2.   

    我现在的问题就是:
    我在机器A上用user01登录,
    然后在机器B上还是用user01登录时如何能够知道该用户已经被登录过。
      

  3.   

    首先,你的两台机器是不是都连接在同一服务器?如果是那就是2楼所说的,判断一下就知道。如果不是,那就没有办法,Session是在服务器里的。
      

  4.   

    to BloodMaster(为难) :
    Session是会话级的,每一个用户都有一个Session,所以Session不能解决你的问题
    解决你的问题需要用Application级的Context,在一个应用中不管有多少个Session存在都只有一个Application context。
    具体的语法你自己去找找资料吧。
      

  5.   

    问一下,什么情况下连接的是同一服务器,什么情况下连接的不是同一服务器。
    我想进行登录访问的肯定是同一服务器吧。我的理解就是:
    每台机器连接服务器进行用户登录时,都会得到一个sessionId,每个sessionId都在服务器上有相对应的session。然后下次访问服务器时会根据sessionId来调用相应的session。所以我觉得无法通过session来进行判断吧
      

  6.   

    感谢楼上。
    找资料去了。
    顺便说一下:
    我刚才试了试csdn,它能二次登录的。呵呵
      

  7.   

    用session是可以的,关键看你保留的User对象存的时什么数据和多少数据。同一个用户登录的时候SessionID有可能不同也就是同一用户有可能有两个Session的实例存在于服务器,这个时候你可以判断这个Session里的User是否与现有的某个Session中的user相同就可以了!当然这个的方法有点笨!