Rails - 设计:检查用户是否可以登录

时间:2015-06-11 09:57:55

标签: ruby-on-rails devise

我使用devise来处理Session。

我需要在登录前检查用户是否通过管理员验证。

我在模型'is_validated'中添加了一个布尔字段。

如何在签署用户之前检查此字段?

2 个答案:

答案 0 :(得分:3)

您需要覆盖设计的active_for_authentication?功能。基本上,您将额外条件放在该方法中,并且只有在该方法为真时才可以登录。

您可以在此处找到更多详细信息:https://github.com/plataformatec/devise/wiki/How-To:-Customize-user-account-status-validation-when-logging-in

答案 1 :(得分:0)

覆盖active_for_authentication?模型中的方法

喜欢这个.......

class Your_model

  def active_for_authentication?
    super && is_validated?
  end

end

如果验证了用户,则返回true。