我是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
我以为我会在会话过期时获得此方法。但它不起作用。提前致谢
答案 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