设计会话time_out

时间:2011-11-15 12:57:25

标签: devise session-timeout

我需要将timeout_in设置为动态值,如下所示,但这里self不是User模型的实例。谁能知道如何使用这个条件。

设计:database_authenticatable,:registerable,          :可恢复的,:可记住的,:可跟踪的,:可验证的,          :token_authenticatable,:confirmmable,:lockable,:timeoutable,:omniauthable,:timeout_in => (self.email.nil??111.minutes:112.minutes)

2 个答案:

答案 0 :(得分:2)

此功能在Devise master上,应尽快在新的Devise版本上发布。您可以将Gemfile指向Devise git repository并立即开始使用它。

https://github.com/plataformatec/devise/wiki/How-To:-Add-timeout_in-value-dynamically https://github.com/plataformatec/devise/pull/1462

答案 1 :(得分:0)

我不知道你是否可以这样做,因为你在班级范围内。

要执行您想要的操作,请定义一个名为timeout_in的方法来实现此逻辑。因为它有this method Devise尝试从实例方法加载timeout_in,然后尝试从类方法中获取它。

编辑:删除猴子补丁溶液添加了更好的一个。

EDIT2:改善答案。