Ruby on Rails Authlogic密码无效

我正在尝试实现Authlogic。 注册很好,它将所有必要的细节输入我的数据库..

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

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

以下字段存在问题:

密码无效

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

我有同样的问题,这是因为我从Restful身份validation迁移。 问题是:Restful身份validation在password-salt和crypted-password上设置了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 

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

精细的手册

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

 class User < ActiveRecord::Base acts_as_authentic do |c| c.validate_password_field = false end end 

然后尝试再次登录。 如果这样可行,那么您将知道authlogic默认validation正在绊倒您。

你也可以试试

 valid_password?(attempted_password, check_against_database = check_passwords_against_database?) 

与控制台

我得到了同样的错误,我的问题是我没有使用我以前用于restful身份validation的REST_AUTH_SITE_KEY密钥值。

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

如果升级到authlogic,则默认的crypto_provider已从Sha512更改为Sha512 ,因此可能会出现密码损坏的情况。 查看authlogic 自述文件