私は好きではない方法でパスワードをハッシュした古いユーザーのデータベースを持っています。 ログイン時にこれらのハッシュを新しいハッシュフォーム(bcrypt)に更新したいと考えています。複数の種類のハッシュをチェックできるようにsymfonyのパスワードチェックを無効にする方法
ユーザーを管理するのにFOSUserBundleを使用し、セキュリティエンコーダとしてElnur's bcrypt bundleを使用しています。私は現在のセキュリティエンコーダを拡張することについて考えたがisPasswordValid
方法は、アカウントのIDを確認する必要はありません
if passwordHash is using old format
oldFormatHash := hash userGivenPassword in the old way
if oldFormatHash == passwordHash
login ok
update password in database with new hash format
else
login ko
else
use default
(または:この種のアルゴリズムを追加するために、パスワードのチェック機構にプラグインする簡単な方法はありますその正規の名前)、更新部分は利用できません。