【问题标题】:Rails Session Timeout/WarningRails 会话超时/警告
【发布时间】:2016-01-08 07:24:00
【问题描述】:

我整天都在努力研究这个问题,但还没有真正找到适合我需要的东西。我们需要为我们的应用程序创建一个会话超时(简单),但我们还需要在会话超时发生前 x 分钟显示一条警告消息。

我使用the activerecord_session gem 设置了我的应用程序,并进行了必要的配置更改。我可以这样写:

before_action :determine_if_session_timed_out

在应用程序控制器中。我这样做的主要担心是 db hits 以及似乎应该有一种 rails 方式来做到这一点,类似于上面链接的 gem 有 expire_after: xx 分钟,但是对于警告。

我的两个问题是——有没有人看过任何应用程序:

  • 有一个内置的 rails 方式在会话即将超时时显示警告?
  • 会话超时后自动重定向?看起来页面没有使用上述 gem 的 expire_after 实现重定向。它保持在同一页面上,直到调用另一个操作然后重定向。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4


    【解决方案1】:

    您的应用程序中的 Ajax 请求可以被这段代码捕获。

     $(document).ajaxError(function(e, error) {   switch(error.status) {
         case 401: {
           // page redirect unauthorized access.
           location.reload();
           alert(xhr.responseText);
         }   }
    

    您可以使用 jquery (https://codedecoder.wordpress.com/2014/05/01/jquery-inactivity-warning-logout-timer-setinterval-clearinterval/) 看看这种方法

    【讨论】:

      猜你喜欢
      • 2016-02-06
      • 2012-05-18
      • 2016-09-11
      • 1970-01-01
      • 2012-07-17
      • 2014-07-18
      • 1970-01-01
      • 1970-01-01
      • 2016-12-10
      相关资源
      最近更新 更多