4

私はAuthlogicを実装しようとしています。登録は問題ありません。必要なすべての詳細がデータベースに入力されます..

..しかし、ログインしようとすると、次のエラーが表示されます。

1 つのエラーにより、このユーザー セッションの保存が禁止されました

次のフィールドに問題がありました:

パスワードが無効です

私のパスワード有効です。何が起こっているのかわかりません。何か案は?

4

4 に答える 4

4

同じ問題が発生しました。これは、Restful認証から移行していたためです。問題は次のとおりです。RESTful認証では、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

細かいマニュアルでこの答えを見つけました。

細かいマニュアル

于 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 が からSha512に変更されたSCryptため、パスワードが壊れている可能性があります。authlogic の readmeを確認してください

于 2015-08-05T14:50:55.597 に答える
0

同じエラーが発生しましたが、問題は、以前に安静認証で使用していた REST_AUTH_SITE_KEY キー値を使用していなかったことです。

キー値を追加すると、すべてが機能します:)

于 2011-10-05T20:03:09.777 に答える