关闭会话并重定向到Ruby on Rails登录

mar*_*maf 7 session-timeout ruby-on-rails-3

我正在使用session[:hash_name]ruby on rails来保存会话信息,例如用户名和内容.

我试图找到一种方法来使这个会话到期,而无需用户注销.特别是在两种情况下:一段时间后它需要过期以及用户关闭浏览器时.

到目前为止,我已经找到另一个参数cookies[:hash_name],它可以在一段时间后过期.但我不确定如何在每个用户请求中检查此参数,然后调用reset_session.重置会话时,我需要将用户重定向到登录页面.

任何解决这两个问题的建议都会受到很大的影响.

Old*_*Pro 5

您可以将会话存储在cookie中,该cookie默认为会话cookie(意味着当用户关闭浏览器时它会消失),并使用添加到期时间:expire_after.

这可以配置config/initializers/session_store.rb.例如:

Yourapp::Application.config.session_store :cookie_store, 
                                         key: 'your_session_id',
                                         expire_after: 45.minutes
Run Code Online (Sandbox Code Playgroud)