2011-07-12 7 views

答えて

1

Drupal 7のハッシングメカニズムは切り替え可能です。 password.incのドキュメントに記載されているように、password_incを設定することができます(例:settings.php:$conf['password_inc'] = '/path/to/alternative/file.inc')。そのファイルでは、PHP-Fusionで使用されているフォーマット(大部分に再利用できるかもしれない)を使用するために、上記のリンクで述べた3つの関数を実装する必要があります。

こうすれば、古いハッシュを使い続けることができます。何らかの種類のロジックを実装して、新しいパスワードにデフォルトのハッシュアルゴリズムを使用し、次回のログイン時にユーザーに新しいパスワードを設定させることもできます。これにより、1年かそれ以降のすべてのアクティブなユーザーが更新されました。

+0

Mhym。 user_check_passwordには '$ password = md5($ password);'があります。しかし、私の前回のリンクで説明したように、MD5パスワードでは実際には機能しません。 @hrossが記述した再ハッシュを実行すると動作します。私がMD5を倍にすると、同様の再ハッシュメソッドを使用できますか? Drupalが二重のMD5パスワードを受け入れ、次のログイン時にデフォルトのsalt5に戻す方が良いでしょう。申し訳ありませんが、私は本当にここの盲人のようです;)しかし、私は本当に助けに感謝します。 – Cami

+0

それは私が言ったことです。私が説明した方法では、これらの関数を完全にオーバーライドして、必要な処理を行うことができます。デフォルトの実装はまったく使用されません。そのファイルの代わりに、自分のファイルが読み込まれます。 – Berdir

+0

はい、どのファイルを変更する必要があるのか​​分かっています。問題は、user_check_passwordを1つのMD5を倍に変更すると、再ハッシュを変更する方法がまだわからないことです。冷たいあなたは私を助けてくれますか? @hrossコードで何を変更するか、あるいはこれらの3つのファイルで何を変更すればDrupalがMD5の二重パスワードを受け入れ、次のログイン時にデフォルトのハッシュに再ハッシュするか教えてください。 – Cami

関連する問題