我的会话设计在1-3小时不使用后设置超时(不确定确切多长时间)。我该如何调整呢?
我查看了文档,似乎找不到这个设置。
由于
答案 0 :(得分:74)
查看config / initializers / devise.rb。有很多配置设置,包括config.timeout_in
。我的版本默认为30分钟。您也可以在模型上设置它:
class User < ActiveRecord::Base
devise :timeoutable, :timeout_in => 15.minutes
您现在也可以set the timeout dynamically。
答案 1 :(得分:12)
使用Rails4,最好遵循的是:
在models / user.rb中:将:timeoutable 添加到现有的设计模块列表中。
class User < ActiveRecord::Base
devise :timeoutable
end
在config / initializers / devise.rb中:设置超时参数。
Devise.setup do |config|
config.timeout_in = 3.hours
end
答案 2 :(得分:5)
全局:
class User < ActiveRecord::Base
devise (...), :timeoutable
end
Devise.setup do |config|
config.timeout_in = 3.hours
end
也可以动态设置timeout_in选项
class User < ActiveRecord::Base
devise (...), :timeoutable
def timeout_in
if self.admin?
1.year
else
2.days
end
end
end