Authlogic错误的密码验证错误

时间:2014-12-21 11:14:52

标签: ruby-on-rails ruby passwords authlogic

我在我的ubuntu 14.04上遇到这个问题我有rails 4.1.8和ruby 2.1.2。 上次我在mac OSX 10.10上尝试了相同的rails和ruby版本,我能够成功创建用户。但是当我在我的ubuntu 14.04上尝试它时,我收到了以下密码字段的错误:

密码太短(最少5个字符) 密码确认与密码

不匹配

密码的长度无关紧要,我确信密码和密码确认是一样的。似乎authlogic无法识别我的密码字段。 这是我的配置:

acts_as_authentic do |c|
c.validates_length_of_password_field_options = {minimum: 5}
c.crypto_provider = Authlogic::CryptoProviders::BCrypt
c.login_field = :email

注意:authlogic还将我的电子邮件字段识别为login_field,因此我的登录字段只有密码和密码确认没有任何问题。 我在DB中的密码字段名称是:crypted_pa​​ssword。

任何人都可以帮我解决这个奇怪的问题,或者有人可以告诉我如何调试它以查看为什么authlogic验证因passord而失败?

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。我的表格是这样的:

  <div class="form-group">
    <%= f.label :crypted_password, 'Password' %><br>
    <%= f.password_field :crypted_password, class: 'form-control' %>
  </div>

我在控制器中的用户参数是这样的:

params.require(:user).permit(:email, :crypted_password, :password_confirmation )

似乎authlogic无法将crypted_pa​​ssword参数识别为密码。当我删除&#34;加密&#34;来自:crypted_pa​​ssword它的工作原理。我不知道为什么它在Mac OSX上工作但现在它适用于我的ubuntu 14.04。