在做登录超时验证时,遇到一个问题,怎样判断用户已经超时?
做的系统原先是c\s的,现在是想做b\s的,把原先的程序做成一个控件.我们做的web服务器只在用户登录成功后提供一个控件下载,以后操作就与web服务器无关了,这时候怎样判断用户已经超时了,或者已经不在了.
谢谢,我是新手,请大家多帮助

解决方案 »

  1.   

    我们做的web服务器只在用户登录成功后提供一个控件下载,以后操作就与web服务器无关了.这种情况session 能判断吗?
      

  2.   

    写在 你的控件里面
    让他和web服务器通讯
      

  3.   

    当用户打开该页面后就产生一个session .你可以设置 session 的有效时间.默认是 30 分钟.
    如果你想在用户 10 分钟后还不提交数据就失效的话.把 session 有效时间改为 10 就可以了。
    第二页直接判断能不等得到 session 如果不能就是超时了。
      

  4.   

    To: sunxutx(孤云挂月) 怎样添加在控件,怎样让控件和web服务器通讯,能说的详细点吗To:laobu  用户不提交数据,只是操作控件,就是说和web服务器没有交换了,怎样让web服务器来判断是否超时 
      

  5.   

    请问控件下下来以后,页面的操作是否和web服务器有通信?
    因为系统不是一个真正的web服务,控件操作和另外的服务器打交道
      

  6.   

    web服务器只提供 控件下载的话 也就是和原先的c/s结构没有什么区别,因为下载之后不再有server端。
    哪何必验证用户登陆已经超时!?一切做法和以前一样如果存在和server端交互的过程,那么在交互过程中进行session的判断就能得知用户是否超时。
      

  7.   

    楼上的意思就是确定如果这样,就不会和server端交互是吧.
    那登陆界面怎么做,即要保证能下载控件,又可以防止用户不通过登陆就直接操作.
    不知道我说明白没有,就是防止用户直接输入网址就访问内容了.
      

  8.   

    写一个filter来控制比较方便!
      

  9.   

    怎样来实现使用 相同的用户名 后来登陆的能把以前登陆但session实效还在的删除?
    最好写代码
      

  10.   

    不管是谁登陆上来以后
    String name = request.getParameter("name");
    if(session.getAttribute("name")!=null){
        session.remove("name");//先删除session
    }
    session.setAttribute("name",name);//再设置
      

  11.   

    在WEB登录的时候,一般都要写一个用户对象到session域,例如<HttpSession>.<setAttribute(key, object)>。在下载控件之前只需要看看<HttpSession>.getAttribute(key)是不是null就可以了。如果超时或者用户退出或者浏览器关闭,那么会是null。
    session时效一般由Web Application Server管理,可以自己设置超时的时间。