2014-11-20 5 views
1

В моем приложении rails 3.2.11 я использую утилиту для обработки входа пользователя. Все работает отлично, но я хочу добавить новые валидации для входа в систему, так что если отключен флаг установлен в true, он запрещает пользователю входить в систему, пока администратор не включит их повторно.Предотвращение входа пользователя в систему с использованием Rails и Devise

Похоже, что я могу переопределить конструктор сеансов разработки и обрабатывать функциональные возможности там, но, проходя через разработанные документы, я заметил вариант validatable, который выглядит так, как будто он должен обрабатывать то, что я пытаюсь сделать (и быть более чистым решением).

Так что мои вопросы:

1) Является ли мое понимание подтверждаемых вариант правильных, что он может быть использован для добавления дополнительных входа валидаций?

2) И если да, как бы я мог использовать его для проверки отключенного флага, который у меня есть в моей модели пользователя?

С уважением,

ответ

0

подтверждаемым вариантом является не то, что вы думаете, что это. Он просто выполняет все необходимые основные проверки для электронной почты и пароля. От: http://www.rubydoc.info/github/plataformatec/devise/Devise/Models/Validatable

подтверждаемых создает все необходимые валидаций для пользователя электронной почты и пароль . Это необязательно, поскольку вы можете захотеть создать валидации самостоятельно. Автоматически проверяйте, присутствует ли электронное письмо, уникальный и его формат действителен. Также проверяет наличие пароля, подтверждение и длину.

Выполнение этого по-своему, переопределяя SessionsController, может быть вашим лучшим выбором. В вашем случае, что бы я, вероятно, сделал бы, добавьте after_filter :check_user_flag, чтобы проверить этот флаг, а если он отключен, то подпишите пользователя с сообщением, объясняющим почему.

Смежные вопросы