代码之家  ›  专栏  ›  技术社区  ›  Schneems

AuthLogic密码无效错误

  •  1
  • Schneems  · 技术社区  · 15 年前

    我也有类似的错误。 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 回复  |  直到 12 年前
        1
  •  4
  •   Peter Wagenet    15 年前

    我只是仔细研究了一下AuthLogic代码,它看起来像 validate_password_field 若为false,则仅阻止Rails运行默认验证。它对 valid_password? 方法。

    有许多其他因素似乎导致它返回错误。其中包括但不限于:

    • 正在检查空密码
    • 加密密码为空
    • 密码不匹配。(这一点有点复杂,因为其中涉及多种因素,包括密码提供者以及您是否使用restfulauthentication样式的密码。)

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

        2
  •  2
  •   Paul Sturgess    15 年前

    我也遇到了类似的问题,原来当AuthLogic需要255时,原来的restful身份验证密码字段以40个字符的长度迁移。

        3
  •  1
  •   dStulle    12 年前

    在我的例子中,这只是一个混乱的数据库迁移。 rake db:migrate VERSION=0 && rake db:migrate 帮我解决了这个问题。

        4
  •  0
  •   cactis    14 年前

    如果有的话,请尝试在user.rb中备注“在保存前:加密密码”。

    #  before_save :encrypt_password