4

我正在尝试实现 Authlogic。注册很好,它将所有必要的详细信息输入到我的数据库中。

..但是当我尝试登录时,它给了我错误:

1 个错误禁止保存此用户会话

以下字段存在问题:

密码无效

我的密码有效。我不确定发生了什么。有任何想法吗?

4

4 回答 4

4

我遇到了同样的问题,这是因为我正在从 Restful 身份验证迁移。问题是:Restful 身份验证在密码盐和加密密码上设置了 40 个字符的上限。authlogic 生成的哈希值大于此值。

class RemovePasswordSaltCap < ActiveRecord::Migration
  def self.up
    change_column :users, :password_salt, :string, :limit => nil
    change_column :users, :crypted_password, :string, :limit => nil
  end
end

在精美的手册中找到了这个答案。

精美的手册

于 2009-10-09T00:20:09.320 回答
1

在您的用户模型中,试试这个:

class User < ActiveRecord::Base

  acts_as_authentic do |c|
    c.validate_password_field = false
  end

end

然后尝试再次登录。如果这有效,那么您将知道 authlogic 默认验证让您失望了。

你也可以试试

valid_password?(attempted_password, check_against_database = check_passwords_against_database?)

与控制台

于 2009-09-25T12:14:02.213 回答
1

如果升级到 authlogic,默认的 crypto_provider 已从 更改为Sha512SCrypt因此可能是密码被破坏的情况。查看 authlogic 自述文件

于 2015-08-05T14:50:55.597 回答
0

我遇到了同样的错误,我的问题是我没有使用我之前用于 RESTful 身份验证的 REST_AUTH_SITE_KEY 键值。

我添加了键值,一切正常:)

于 2011-10-05T20:03:09.777 回答