模型:
devise :database_authenticatable, :registerable,:timeoutable, :recoverable, :rememberable, :trackable, :validatable,:timeout_in => 10.seconds
开发.rb:
config.timeout_in = 10.seconds
设计.rb:
config.timeout_in = 10.seconds
模型:
devise :database_authenticatable, :registerable,:timeoutable, :recoverable, :rememberable, :trackable, :validatable,:timeout_in => 10.seconds
开发.rb:
config.timeout_in = 10.seconds
设计.rb:
config.timeout_in = 10.seconds
也可以动态设置 timeout_in 选项
class User < ActiveRecord::Base
devise (...), :timeoutable
def timeout_in
if self.admin?
1.year
else
2.days
end
end
end
您是否希望页面刷新并再次显示登录页面?如果是这样,那不是超时功能的工作方式。如果您希望它在刷新时向您显示登录页面,请从模型中删除超时部分并将以下内容放入 devise.rb 而不是 development.rb 中。不要忘记重新启动 Rails 服务器。
config.timeout_in = 1.hour
这都记录在设计 wiki 中
另外,我不确定 10 秒背后的逻辑?好像有点太短了。如果它仍然不起作用,请增加到(例如)五分钟并进行测试。