Authlogic Password is not valid error - PullRequest
       12

Authlogic Password is not valid error

1 голос
/ 03 октября 2009

Я получаю похожую ошибку в этом сообщении Ruby on Rails Authlogic пароль не действителен"Пароль не действителен", который никогда не был разрешен

в скрипте / консоли, если я создаю нового пользователя:

myval = "foo@example.com"
u = User.create(:email => myval, :password => myval, :password_confirmation => myval)
u.valid? 
>> true
u.save
>> true
u.valid_password?(myval)
>>false

если я установлю в моем user.rb:

acts_as_authentic  do |c|
   c.validate_password_field = false
end

я получаю такой же ответ. Есть предложения?

Ответы [ 4 ]

4 голосов
/ 04 октября 2009

Я только что просмотрел код AuthLogic, и похоже, что установка validate_password_field в значение false только мешает Rails запускать проверки по умолчанию. Не влияет на метод valid_password?.

Существует ряд других факторов, которые могут привести к тому, что он вернет false. Они включают, но не ограничиваются:

  • Проверка пустого пароля
  • Зашифрованный пароль пуст
  • Пароль не совпадает. (Это немного сложно, потому что в этом есть множество факторов, включая CryptoProvider и то, используете ли вы пароли в стиле RestfulAuthentication.)

Чтобы дать более точный ответ, мне, вероятно, понадобится дополнительная информация о вашей точной настройке.

2 голосов
/ 23 декабря 2009

У меня была похожая проблема, оказалось, что старые поля пароля Restful Authentication переносятся длиной 40 символов, когда Authlogic требует 255.

1 голос
/ 06 ноября 2010

В моем случае это была просто запутанная миграция базы данных. rake db:migrate VERSION=0 && rake db:migrate решил эту проблему для меня.

0 голосов
/ 05 февраля 2010

попробуйте отметить "before_save: encrypt_password" в user.rb, если у вас есть.

#  before_save :encrypt_password
...