【问题标题】:Display message alert for Session expired显示会话过期的消息警报
【发布时间】:2013-08-29 11:11:24
【问题描述】:

当 session.timeout 发生时如何显示警报信息? 5 分钟后,我想使我的页面过期并重定向到登录页面。重定向后,我想向用户显示他们的会话已过期。

【问题讨论】:

    标签: javascript session-timeout


    【解决方案1】:
    if (session["MySessionName"] == null)
    {
     .. show message
    }
    

    【讨论】:

      【解决方案2】:

      我想你在 5 分钟不活动之后。

      function doLogout() {
          window.location.href="/logout?reason=timeout"
      }
      
      window.setTimeout(doLogout(), 300000)
      

      设置所需的超时时间然后注销,将某种形式的参数传递给注销机制,以便显示消息。

      另一种选择是轮询会话cookie。方法类似,但不是直接注销,而是检查 cookie 是否仍然存在以及是否启动新计时器。为此,您必须将会话的到期时间设置为所需的值。

      附带说明,出于可访问性的原因,您应该在终止会话之前真正警告用户并提供更新会话的方法。

      【讨论】:

        【解决方案3】:

        您需要在几秒钟后 ping 您的服务器以等待会话到期。

        算法:

        1. 正确异步调用服务器
        2. 接收真/假响应
        3. 相应地显示警报。

          $return = array("status"=>1);
          if($_SESSION['ANY_SESSION_VAR']){
              $return = array("status"=>0);
          }
          
          die(json_encode($return);
          

          http://jsfiddle.net/2CgkV/1/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-28
          • 2012-11-05
          • 1970-01-01
          • 2019-10-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多