2014-11-20 106 views
1

在我的rails 3.2.11应用程序中,我使用devise来处理用户登录。所有的工作都很好,但我想为登录添加新的验证,因此如果禁用标志设置为true,它将阻止该用户登录,直到管理员重新启用它们。防止禁用用户使用Rails和Devise登录

它看起来像我可以重写设计会议控制器,并处理功能,但通过设计文件,我注意到validatable选项,它看起来应该能够处理我想要做的事情(和成为更清洁的解决方案)。

所以我的问题是:

1)是我正确的选择可验证的理解,它可以用来添加更多的登录验证?

2)如果是,我将如何能够使用它来检查我的用户模型中的禁用标志?

Regards,

回答

0

Validatable选项不是您认为的那样。它只是对电子邮件和密码进行所有必要的基本验证。来源:http://www.rubydoc.info/github/plataformatec/devise/Devise/Models/Validatable

是Validatable创建一个用户的电子邮件和密码 所有需要的验证。这是可选的,因为您可能想自己创建验证 。自动验证电子邮件是否存在,唯一 及其格式有效。还测试密码的存在,确认 和长度。

以您自己的方式重写SessionsController可能是您最好的选择。在你的情况下,我可能会做的是添加一个after_filter :check_user_flag来检查该标志,如果禁用,然后用解释原因的消息对用户签名。

相关问题