質問

私はAuthlogicを実装しようとしています。登録は、それは私のデータベースに必要なすべての詳細を入力し、細かいです..

..しかし、私は、ログインしようとすると、それは私にエラーを与えます:

  

1つのエラーは、このユーザー・セッションを禁止しました   保存されてから

     

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

     

パスワードが有効ではありません。

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

役に立ちましたか?

解決

私は同じ問題を抱えていた、と私は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

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

細かいマニュアル

他のヒント

ユーザーモデルでは、これを試してください

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?)

コンソールと

私は同じエラーを得ていたし、私の問題は、私は、私が以前に安らかな認証で使用REST_AUTH_SITE_KEYキー値を使用していなかったということでした。

私は、キーの値を追加し、すべてが動作します。)

デフォルトcrypto_providerをauthlogicにアップグレードもしそうなら、それはパスワードが壊れている場合がありますSha512するSCryptから変更されました。 authlogicをチェック のreadmeする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top