gpt4 book ai didi

security - FOSUserBundle - Symfony2 使用不同的编码密码登录

转载 作者:行者123 更新时间:2023-12-04 04:43:08 25 4
gpt4 key购买 nike

我必须从旧数据库中迁移用户,其中密码存储在 MD5 中,而在使用 SHA512 的新应用程序中。

我的目的是旧用户在新应用程序中首次登录时必须更改密码,但这意味着您可以使用 MD5 中的密码从数据库加载这些用户。

如何使用 Symfony 2.3.3 + FOSUserBundle 做到这一点?

最佳答案

您可以创建自定义密码编码器。
例如:

security:
encoders:
FOS\UserBundle\Model\UserInterface: { id: my_password_encoder }

然后注册该服务:
services:
my_password_encoder:
class: MyProject\DefaultBundle\Security\PasswordEncoder

并使用以下内容创建服务:
use Symfony\Component\Security\Core\Encoder\BasePasswordEncoder;

class PasswordEncoder extends BasePasswordEncoder
{
public function encodePassword($raw, $salt)
{
return md5($raw);
}

public function isPasswordValid($encoded, $raw, $salt)
{
return $this->comparePasswords($encoded, $this->encodePassword($raw, $salt));
}
}

关于security - FOSUserBundle - Symfony2 使用不同的编码密码登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18594422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com