sfGuardUserプラグインを備えたsymfony1アプリケーションがあります。新しいsymfony2アプリケーションで同じデータベースを使用する必要があります。
symfony1でエンコードされたパスワードと一致するようにパスワードエンコーダーを定義するにはどうすればよいですか?
sfGuardUserプラグインを備えたsymfony1アプリケーションがあります。新しいsymfony2アプリケーションで同じデータベースを使用する必要があります。
symfony1でエンコードされたパスワードと一致するようにパスワードエンコーダーを定義するにはどうすればよいですか?
別のエンコーディング アルゴリズムを提供していない場合、Symfony 1.x はsha1($salt.$rawPassword)
. したがって、 PasswordEncoder は次のようになります。
use Symfony\Component\Security\Core\Encoder\PasswordEncoderInterface;
class PasswordEncoder implements PasswordEncoderInterface
{
public function encodePassword($raw, $salt)
{
return sha1($salt.$raw);
}
public function isPasswordValid($encoded, $raw, $salt)
{
return $this->encodePassword($raw, $salt) === $encoded;
}
}
幸運を!