我正在使用restful_authentication插件登录我的登录页面。问题是我以用户身份登录后,在点击退出之前我从未退出。如何设置15分钟的会话超时?例如,如果我转到任何页面15分钟后,我应该被重定向到登录页面。
答案 0 :(得分:3)
您可以在rails 2.3中的config / intializers / session_store.rb文件中配置会话到期时间。
只需添加以下选项:
:expire_after => 60.minutes
或者,您可以通过在before_filter中使用以下内容来更改每个控制器/操作的到期时间:
request.session_options = request.session_options.dup
request.session_options[:expire_after] = 5.minutes
request.session_options.freeze
这些说明位于:http://squarewheel.pl/posts/3,其中还有一个指向rails<插件的链接。 2.3。
答案 1 :(得分:0)
请注意,这仅设置cookie过期时间,而不是服务器检查的会话过期时间(至少使用我为rails写的插件< 2.3)。要实现后者,您必须实现自己的before_filter,它检查会话中的时间戳,如果时间超过可接受的限制则丢弃它。同样,我还没有检查是否需要> = 2.3
答案 2 :(得分:0)
:
before_filter :update_activity_time, :except => [:login, :logout]
def update_activity_time
session[:expires_at] = 60.minutes.from_now #default 60
end