ruby-on-rails – 检测设计会话何时到期

ruby-on-rails – 检测设计会话何时到期,第1张

概述我想记录用户会话超时的时间,使用devise和:timeoutable. 目前,:timeoutable按预期工作,并在指定的不活动时间段后将用户重定向到登录页面,但除此之外,我们还希望在发生这种情况时进行记录,以帮助改进我们的超时期限. (显然除非用户明确注销,否则所有会话都会超时.我们将检查自上次活动以来的时间,以确定它是否是自然超时,或者更可能是因为我们设置的超时时间太短.) 是否有可以挂钩 我想记录用户会话超时的时间,使用devise和:timeoutable.

目前,:timeoutable按预期工作,并在指定的不活动时间段后将用户重定向到登录页面,但除此之外,我们还希望在发生这种情况时进行记录,以帮助改进我们的超时期限.

(显然除非用户明确注销,否则所有会话都会超时.我们将检查自上次活动以来的时间,以确定它是否是自然超时,或者更可能是因为我们设置的超时时间太短.)

是否有可以挂钩的事件或在SessionController中检测会话超时的另一种方式?

解决方法 我没有看到任何类型的钩子,但你可以覆盖设计使用的超时模块中的代码:

module Devise  module Models    module Timeoutable      def timedout?(last_access)        #  your custom code goes into this method        return false if remember_exists_and_not_expired?        !timeout_in.nil? && last_access && last_access <= timeout_in.ago      end    end  endend
总结

以上是内存溢出为你收集整理的ruby-on-rails – 检测设计会话何时到期全部内容,希望文章能够帮你解决ruby-on-rails – 检测设计会话何时到期所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1267123.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存