Rails是否提供默认的会话超时持续时间?如果是,它在哪里指定?

时间:2013-04-25 12:28:32

标签: ruby-on-rails session

我已经知道如何在rails app中设置到期时间,这已在网上很好地记录。但我想知道的是在rails中会话到期的默认持续时间是什么,如果有,在哪里可以找到它?

3 个答案:

答案 0 :(得分:14)

Rails没有默认的到期时间。 The method definition for session_store似乎只有一个默认值:

第32行@session_store = :cookie_store

默认情况下,其他配置不存在。因此,:expire_after未设置且Rails'会话没有到期时间,除非您为其设置了值。

答案 1 :(得分:13)

您可以在初始化文件

中配置应用程序的会话信息
config/initializers/session_store.rb

如需设置30分钟,请尝试以下代码:

 YourApp::Application.config.session_store :cookie_store, 
    :key => '_my_session', 
    :expire_after => 30.minutes

答案 2 :(得分:1)

根据定义,会话将在关闭浏览器后到期,它们没有超时。 如果您打开Chrome开发者工具并查看失效日期,则会在此处显示“会话”,而不是日期/时间。