Authlogic密码无效错误

时间:2009-10-03 18:59:13

标签: ruby-on-rails passwords authlogic

我收到类似的错误Ruby on Rails Authlogic password not valid“密码无效”似乎从未解决

如果我创建了一个新用户,则在脚本/控制台中

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 个答案:

答案 0 :(得分:4)

我只是深入研究了AuthLogic代码,看起来将validate_password_field设置为false只会阻止Rails运行默认验证。它对valid_password?方法没有影响。

还有许多其他因素似乎导致它返回false。这些包括但不限于:

  • 检查空白密码
  • 加密密码为空白
  • 密码不匹配。 (这个有点复杂,因为这涉及到各种因素,包括CryptoProvider以及你是否使用RestfulAuthentication样式密码。)

为了给出更明确的答案,我可能需要更多关于您确切设置的信息。

答案 1 :(得分:2)

我遇到了类似的问题,当Authlogic需要255时,旧的Restful Authentication密码字段的长度为40个字符。

答案 2 :(得分:1)

就我而言,这只是一个混乱的数据库迁移。 rake db:migrate VERSION=0 && rake db:migrate为我解决了这个问题。

答案 3 :(得分:0)

如果你有,请尝试在user.rb中注明“before_save:encrypt_password”。

#  before_save :encrypt_password