Rails 是不是提供默认会话超时时间?如果是,它在哪里指定?
Posted
技术标签:
【中文标题】Rails 是不是提供默认会话超时时间?如果是,它在哪里指定?【英文标题】:Does Rails provide default session time-out duration? If yes, where is it specified?Rails 是否提供默认会话超时时间?如果是,它在哪里指定? 【发布时间】:2013-04-19 08:24:48 【问题描述】:我已经知道如何在 Rails 应用程序中设置过期时间,这在网络上有很好的记录。但我想知道的是rails中会话到期的默认持续时间是多少,如果有,在哪里可以找到它?
【问题讨论】:
可能重复 --> ***.com/questions/5860950/… 【参考方案1】:Rails 没有默认过期时间。 The method definition for session_store 似乎只有一个默认值:
上线32@session_store = :cookie_store
默认情况下其他配置不存在。因此,:expire_after
没有设置,Rails 的会话没有过期时间除非你为它设置了一个值。
【讨论】:
【参考方案2】:您可以在初始化文件中配置应用程序的会话信息
config/initializers/session_store.rb
要设置 30 分钟,请尝试以下代码:
YourApp::Application.config.session_store :cookie_store,
:key => '_my_session',
:expire_after => 30.minutes
【讨论】:
我知道这一点。但是 Rails 有没有默认的过期时间? 这不能回答问题。【参考方案3】:根据定义,会话将在浏览器关闭后过期,它们没有超时。 如果您打开 Chrome 开发工具并查看到期日期,那里会显示“会话”而不是日期/时间。
【讨论】:
以上是关于Rails 是不是提供默认会话超时时间?如果是,它在哪里指定?的主要内容,如果未能解决你的问题,请参考以下文章