【问题标题】:Session time out using Javascript or jQuery使用 Javascript 或 jQuery 的会话超时
【发布时间】:2012-12-17 10:19:58
【问题描述】:

会话完成后如何重定向到登录页面?代码应检查用户是否空闲了一段时间,然后执行任何其他客户端事件。如果它发现这种情况,它应该检查会话超时,如果会话完成,则重定向到登录页面。

【问题讨论】:

  • 记录用户登录服务器端的时间,每次发出请求时检查会话是否已过期服务器端。如果它已将他们重定向到登录页面。
  • 您希望用户在什么情况下重定向到登录页面? 1. 当用户不移动光标时?或者 2. 当用户没有点击任何链接时?

标签: javascript jquery-ui session-timeout


【解决方案1】:

检查网页上的非活动状态就像尝试侦听大量事件一样。这也意味着如果有用户交互,函数(事件处理程序)将被调用很多次。如果此处理程序/函数将用于某些 ajax 发送/接收内容,那么它最终可能会使您的用户界面性能不佳。

为什么不缩短会话有效期并在之后自动注销用户?这样,如果用户真正活跃,那么很可能会在该时间范围内请求页面。您还可以设置一个基于计时器的事件,该事件在触发时将简单地向服务器发送虚拟请求以刷新会话,以让服务器知道用户仍处于活动状态但尚未准备好请求另一个页面。这就是用户正在编辑长文本或类似内容的情况。

希望对你有帮助。

【讨论】:

    【解决方案2】:

    5 分钟后退出会话

    <sctipt>
        var interval;
         $(document).on('mousemove', function () {
             clearInterval(interval);
             var coutdown = 5 * 60, $timer = $('.timer'); // After 6 minutes session expired  (mouse button click code)
             $timer.text(coutdown);
             interval = setInterval(function () {
                 $timer.text(--coutdown);
    
                 if (coutdown === 0) {
    
                     alert("Session expired User successfully logout.");
                     window.location = "UserLogin.aspx";
                 }
    
             }, 1000);
         }).mousemove();
    
    
    
         var interval;
                     $(document).on('keydown', function () {
             clearInterval(interval);
             var coutdown = 7 * 60, $timer = $('.timer'); // After 6 minutes session expired (keyboard button press code)
             $timer.text(coutdown);
             interval = setInterval(function () {
                 $timer.text(--coutdown);
    
                 if (coutdown === 0) {
    
                     alert("Session expired User successfully logout.");
                     window.location = "UserLogin.aspx";
                 }
    
             }, 1000);
         }).mousemove();
    <sctipt>
    

    <div class="timer">
         Time of session display on page 
    </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多