1

わかりました。ユーザーに authlogic を使用するレガシー Rails 2.3 システムがあります (Spree commerce 0.11 プラットフォームによって実装されています)。

Devise を使用して、新しいオーダーメイドの Rails 3.2 システムに移行しています。パスワードを含め、既存のユーザーを移行できるようにしたいと考えています。ユーザーの詳細の移行は簡単で、すでに達成されていますが、パスワードが問題を引き起こしています。

当初、私は既存の暗号化されたパスワードを引き抜いて、陽気に続けられることを望んでいました。最初の試行と調査から、これは当てはまらないようです。

推奨される解決策は、「valid_password?」をオーバーライドすることです。メソッドを考案し、最初に Authlogic Hashed パスワードを手動で確認します。

私はこのアイデアがあまり好きではありませんが、それが私が持っている最善の方法であるなら、私はそれを行います. 問題は、Authlogic が私ではなく Spree によって実装されたため、使用されているハッシュ手法やそれを繰り返す方法がわからないことです。他の人々の例では、正しいパスワードから同じハッシュ結果が生成されません:( (つまり、ここでは既存のパスワードハッシュを Devise に変換しています)

ユーザーごとにソルトと暗号化されたパスワードがあることはわかっていますが、Authlogic には Spree によって設定された暗号化構成がないようです。Authlogics チェックを複製する方法を見つけるにはどうすればよいですか? または、パスワードを移行する別の方法はありますか?

ありがとう

4

2 に答える 2

0

スムーズな移行を可能にするために、新しいプロジェクトで Devises を Authlogic に戻すことになりました。少し手間がかかりましたが、頭痛を軽減するために同じテクニックを再利用するのが最善の方法のようです.

もちろん、それが完了したら、インポートはユーザーテーブルを吸い込んでAuthlogicを同じように構成するだけでした.

danerourssaves の回答はうまくいった可能性がありますが、終了するまではわかりませんでした。また、確認したところデッドリンクになっていましたが、数か月後に調べたところ、これは良いことです。

于 2014-06-09T11:23:28.347 に答える