2012-04-20 33 views
0

私はRubyアプリを持っていて、私はユーザ認証のために "Authlogic"を使っています。ユーザーは問題なく登録してサインインできます。Ruby on Rails - authlogicを使ってプレーンテキストのパスワードを保存する

私は、これらの詳細を「ユーザー」テーブルに移行する必要があるユーザーの詳細の一覧を持つcsvファイルを用意しました。そのために、私はcsvファイルを通って "users"テーブルにデータを格納するスクリプトを書いています。

仕事にauthlogicで必要

persistence_token

crypted_pa​​ssword password_salt :

問題は、私は次のフィールドの値を生成するための方法を見つけることができませんです。

助けが必要ですか?

+0

authlogicが正しく構成されている場合、これらの列は自動的に移入されます。あなたのユーザーモデルとインポートスクリプトを見ることができれば役に立ちます。 –

+0

サイトから登録すると、はい列が自動的に入力されます。プレーンテキストのパスワードを持つcsvからユーザーをインポートする必要があります。 – RRG

+0

これを読んだらOKです。h​​ttp://stackoverflow.com/questions/2330994/rails-authlogic-password-hashing-algorithm-using-ruby-only私はこのサイトhttp://www.binarylogic.comを使って試してみましょう/ 2008/11/23/tutorial-upgrade-passwords-easy-with-authlogic/ – RRG

答えて

0

railscastを見てみると、saltを追加して暗号化されたパスワードを生成する方法がわかります。this railscastを見てみましょう。

あなたのユーザーのテーブルにパスワードがすでに塩で暗号化されている場合、暗号化されたパスワードを再度生成することはできません。あなたは、このような方法であなたのCSVインポートスクリプトを作成する必要があり、その場合には

、それことは、既存のユーザーのパスワードフィールド更新をdoesnot。

+0

すでに登録されているユーザーはい、パスワードは暗号化されています。たぶん私はプレーンテキストのパスワードでユーザーをインポートし、初めてサインインするとき何かをすることができます。 – RRG

+0

パスワードフィールドに触れない方が良い。他のフィールドを更新する –

0

これは、単純な...ただ、ユーザーモデルを使用したことだった。

ユーザー= User.new(:メール=>電子メール、:ログイン=>ログイン:パスワード=>パスワード:password_confirmation =>パスワード)

とフィールドは、authlogicによって追加されます。

関連する問題