ruby-on-rails - Authlogic 不正确的密码验证错误

标签 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,因此我对登录字段没有任何问题,只有密码和密码确认。 我在数据库中的密码字段名称是:crypted_pa​​ssword。

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

最佳答案

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

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

我在 Controller 中的用户参数是这样的:

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

似乎 authlogic 没有将 crypted_pa​​ssword 参数识别为密码。当我从 :crypted_pa​​ssword 中删除“crypted”时,它起作用了。我不知道为什么它可以在 Mac OSX 上运行,但现在它可以在我的 ubuntu 14.04 上运行。

关于ruby-on-rails - Authlogic 不正确的密码验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27588829/

相关文章:

ruby-on-rails - 通过 Rails 应用程序从 postfix 发送的电子邮件将被发送到 gmail 中的垃圾邮件

ruby-on-rails - 为什么 ActionMailer (rails 2.3.5) 会开始间歇性地发送文本/html 电子邮件?

ruby - 在 Ruby 中以编程方式构建多行字符串

ruby-on-rails - 设计 View 未在 Rails 中设置样式

ruby - Sidekiq Worker 在排队后需要很长时间才能执行(4 - 6 秒)

Python 密码系统在尝试一定次数后会锁定

javascript - javascript 中的密码验证

ruby-on-rails - Rails send_data 抛出 "invalid byte sequence in UTF-8"... 但为什么呢?

python - Django 覆盖密码加密

ruby-on-rails - 在 Rails 表单助手中包含 Bootstrap 角色属性