如果做到不让用户同时在2天机器上重复登陆呢???

解决方案 »

  1.   

    登陆之前检查session。但是客户非正常logout,而是客户端断电什么的那就比较复杂了。
      

  2.   

    struts中session有关于取得ip的方法。
      

  3.   

    在用户第一次登录的时候向ServletContext中set一个以用户名为键的值,ServletContext可以通过在servlet中通过request.getSession().getServletContext()得到。然后用户每次登录都到ServletContext中get以用户名为键的值,如果这个值为为null,则说明用户没有登录,可以正常登录,如果不为null,则说明该用户已经登录了,不能重复登录。用户退出的时候要在ServletContext中remove掉以用户名为键的值。并且添加用户session的监听器,这样在用户没有点击退出按钮而是直接关闭浏览器退出系统后的一段时间后他的session也将要销毁,在销毁的时候从ServletContext中remove掉用户名为键的值。
      

  4.   

    引用:
    http://community.csdn.net/Expert/topic/5266/5266316.xml?temp=.5635645
    2楼的。
    可以实现,我试过了。就是在非法关闭浏览器后,等session过期后才会调用SessionListener中的sessionDestroyed()方法!