ruby-on-rails - 如何获得设计 session 超时回调?

标签 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 devise

有没有办法在用户 session 超时时通过 Devise 获得回调/处理某些操作?

覆盖 DeviseSessionsController 的普通旧方法不起作用:

class SessionsController < Devise::SessionsController

  def destroy
    #do something
    super
  end

end

这仅在用户注销时有效,这是有道理的,因为它看起来不像是在 session 超时时调用 Controller 。有人可以帮帮我吗?

最佳答案

我发现执行 Warden.before_logout 是最好的解决方案:

# app/models/user.rb

Warden::Manager.before_logout do |user, auth, opts|
  #fdsafdsafdsa
end

不幸的是,似乎没有任何方法可以用纯 Devise 做到这一点。

关于ruby-on-rails - 如何获得设计 session 超时回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10843146/

相关文章:

mysql - 接收错误: 'Access denied for user ' root' @'localhost' (using password: YES)' when trying to access localhost

ruby-on-rails - 在 Rails 模型中创建 "one"到 "one or two"关系的最佳方法是什么?

javascript - "NetworkError: 404 Not Found"- $.post() 与 jQuery

ruby-on-rails - 代码何时属于 ruby​​ on Rails 中的模型?

ruby-on-rails - Rails 3.1 Savon soap 请求给出 Timeout::Error: Timeout::Error ut using curl 我得到响应

ruby-on-rails - 在独立的 Rails 引擎中从父应用访问助手

ruby-on-rails - NameError:sidekiq worker 在生产中未初始化的常量,但在开发中有效

sql - Rails 相关子查询同表

ruby-on-rails - 关于Rails中@的使用

ruby-on-rails - 事件管理员 - 页面上未显示闪烁消息