Существует ли способ заставить Authlogic проверять формат пароля, например, должен содержать по крайней мере одну букву и по крайней мере одно число? Пропуск a validates_format_of_password_options
метод, который будет использоваться в acts_as_authentic
блок конфигурации, кажется, указывает, что Authlogic имеет мнение, что не нужно налагать такое ограничение на пользователей.
Я думал, что просто вставлю нормальный ActiveRecord validates_format_of :password
, но это означает это a current_user
возразите, что я создаю, по сути недопустимо, поскольку я не могу получить незашифрованный пароль (и не сохранил бы его в том объекте, даже если я мог!). После обнаружения, что мой current_user
недопустимо, Rails или Authlogic (не уверенный, который, так как я довольно плохо знаком с обоими) направляет меня к моей 'пользовательской странице' редактирования с ошибкой проверки для ее пароля.
Вы можете использовать параметры конфигурации, заданные ACTS_AS_AUTHENTIC, например:
# Configuration is easy:
#
# acts_as_authentic do |c|
# c.my_configuration_option = my_value
# end
#
# See the various sub modules for the configuration they provide.
Если вы перейдете к модулям в GEM, вы можете увидеть дополнительные параметры, которые они предоставляют. Например, если я хочу изменить параметры по умолчанию Vavormation Vavormation Vavelation:
acts_as_authentic do |c|
c.merge_validates_length_of_password_field_options({:minimum => 3})
end
Вы можете заглянуть в папку ACTS_AS_AUTHENTIC в своих «(GEMS || плагинов) / authLogic / acts_as_auteentic /" каталог для получения дополнительных вариантов. Ваше здоровье!
не требует исправления обезьяны, но не привязан к каким-либо будущим изменениям Authlogic. Просто добавьте это в свою модель пользователя:
validates_format_of: password,: with => / ^ (? =. \ d) (? =. ([az] | [AZ])) ([ \ x20- \ x7E]) {6,40} $ /,: if =>: require_password ?,: message => «должен содержать одну цифру, одну букву и содержать от 6 до 40 символов»
Конечно, вы можете измените регулярное выражение в соответствии со своими потребностями.