3

Doctrine と sfDoctrineGuardPlugin を備えた symfony 1.4 があります。

symfony doctrine:data-dumpから作成されたsfGuardUser のフィクスチャのロードで問題が発生しています

問題の核心は、フィクスチャ ファイル内のパスワードが暗号化されておらず、フィクスチャをロードする過程で暗号化されることです。

一方、データベースからデータをダンプすると、パスワードはすでに暗号化されており、再度ロードしようとすると、パスワードの値が再度ハッシュされます

この状況を回避する方法を知っている人はいますか?

モデルを変更する必要がある場合に、このプロセスを使用してデータの損失を防ぎます。この特定の問題に対する他の解決策を誰かが知っていれば、私は感謝します!

4

1 に答える 1

4

古い symfony フォーラムにこれに対する解決策があります。

つまり、次のようにユーザー モデルに setEncryptedPassword 関数を作成します。

  public function setEncryptedPassword($v)
  {
    if ($v !== null) {
        $v = (string) $v;
    }

    if ($this->password !== $v) {
        parent::_set('password', $v);
    }

    return $this;
  }

そして、ダンプですべてのpasswordオカレンスを に変更しますencrypted_password

于 2011-07-25T10:39:25.593 に答える