2016-12-30 3 views
1

Djangoを初めて使用しています。既にSQLiteからMySQLに移行しました。ユーザー関連の情報は、auth_user表に保管されています。djangoでプレーンテキストをハッシュパスワードに変換する方法

私は100のユーザー関連のユーザー名とパスワードをプレーンテキストで持っています。 auth_userテーブルにそれらを挿入する必要があります。どうやってやるの?

たとえば、以下のinsert文を使用して手動で挿入しています。

INSERT INTO `auth_user` (username, `password`, is_superuser) 
VALUES ('test', 'test_password', 0) 

私がそれらのように挿入すると、プレーンテキストのパスワードが公開されます。私はDjangoハッシュパスワードを使用したい。

+0

このサイトはDjangoで作成されたか、またはDjangoに移行されましたか? Djangoで作成されたのであれば、なぜパスワードをプレーンテキストで保存するのかを尋ねなければなりません。 –

答えて

5

あなたはパスワードをプレーンテキストで保存することで、ユーザーの状況を悪化させてしまいました。

私はauth_user(django.contrib.authから来る)以外のテーブルにあなたのユーザがいると思います。そのテーブルを繰り返して、各ユーザーのユーザーインスタンスを作成します。

set_passwordメソッドを呼び出して、ハッシュパスワードを生成します。

パスワードハッシュを処理して、ユーザーのパスワードを生の文字列に設定します。 Userオブジェクトを保存しません。

raw_passwordがNoneの場合、set_unusable_password()が使用されたかのように、パスワードは無効な パスワードに設定されます。

+0

そのためのサンプルコードを教えてください。私はそのジャンゴを知らない。私は非常にdjangoの新しいです –

+1

申し訳ありませんが、ご存じのように、それはstackoverflowの仕組みではありません。上記のガイドラインを使って試してみてください。問題が発生した場合は、新しい質問を投稿してください。 – e4c5

+0

既存のモデルがどのようなものなのかを投稿していないので、サンプルコードを投稿することは誰もできません。難しい場合は新しい質問を投稿してください。 – e4c5

関連する問題