【发布时间】:2011-03-09 14:58:42
【问题描述】:
在我的应用程序中,我将 Devise 设置为在 30 分钟后使会话超时。哪个工作正常......用户必须在那之后再次登录。我唯一的问题是,在会话超时后,设计显然不使用会话控制器中的销毁操作。因此,用户的属性 :signed_in 未设置为“假”。 因此,即使在会话超时后,该用户仍显示为在线。 有没有办法在超时后销毁会话或在一定时间后和浏览器关闭时将 signed_in 属性设置为 false?
我在会话控制器中的销毁操作:
def destroy
current_user.try("signed_in=", false); current_user.save
signed_in = signed_in?(resource_name)
sign_out_and_redirect(resource_name)
set_flash_message :notice, :signed_out if signed_in
end
【问题讨论】:
标签: ruby-on-rails session devise