【问题标题】:session updated_at should be stopped in rails 3session updated_at 应该在 rails 3 中停止
【发布时间】:2013-02-26 10:20:06
【问题描述】:

我正在研究 sso 。一个请求来自其他应用程序,在收到该请求后,我在omniauth回调控制器中调用1个方法并使用json对象响应。但在完成响应后,它会更新各个会话的 updated_at。我想停止更新各个会话的 updated_at。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2


    【解决方案1】:

    omniauth 会为您执行一些会话任务,因此您的会话会在omniauth 回调后得到更新。随着会话的更新,您在会话中的 updated_at 值会由 rails 自动(且合理地)更新。

    我认为如果不自定义 Rails 源代码就无法实现目标,这显然不是一个好主意。

    如果你不想使用updated_at中的值,就忽略它或者设置为nil

    session[:updated_at] = nil
    

    如果您想在omniauth回调之前保留该值:

    original_updated_time = session[:updated_at]
    YOUR CALLBACK LOGIC
    session[:updated_at] = original_updated_time
    

    【讨论】:

      猜你喜欢
      • 2011-06-19
      • 2011-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 2022-06-10
      • 1970-01-01
      • 2011-03-21
      相关资源
      最近更新 更多