auto-session-timeout - Ruby on Rails

时间:2014-04-21 12:40:39

标签: ruby-on-rails ruby ruby-on-rails-3 session

我是Ruby on Rails的新手。我试图使用gem实现会话超时 自动会话时间out.Thing是我的会话正在过期。但我想要的是,当会话过期时,我希望网址转到特定的链接(比如www.abcd.com)。此外,我想要一个方法在会话过期时被调用。现在,1分钟后,当我重新加载我的会话时,它会过期,但它会重新定位到同一页面。

我的应用程序控制器中有这个

auto_session_timeout 1.minute

和我的路线

match 'active'  => 'sessions#active'
match 'timeout' => 'sessions#timeout'

和我的sessionscontroller

def active
   p "--------------Active--------------"
  end

  def timeout

        p "------------TimeOut--------------"
        RestClient.post 'https://www.abcd.com', :ApplicationName => 'ABCD Website&Application', :URL => 'http://www.xyz.com/login/'
      end

我以为我会在会话过期时获得此方法。但它不起作用。提前致谢

1 个答案:

答案 0 :(得分:1)

编辑你的file-config / initializers / session_store.rb

App::Application.config.session_store :cookie_store, 
                                         :key => "_yourapp_session",
                                         :expire_after => 2.minutes

然后在你的应用程序控制器中: before_filter: authenticate

 def authenticate
    redirect_to some_path if session[:session_key].nil?
 end

注意:您将手动设置会话密钥。 另外,请查看这个应该有用的答案click here