gpt4 book ai didi

php - 如何在 symfony 中使用 bcrypt 密码加密添加管理员?

转载 作者:行者123 更新时间:2023-12-02 06:57:40 25 4
gpt4 key购买 nike

我在使用 symfony 2.6 开发网站时遇到了一个“奇怪”的问题。我已经设置了所有安全内容,包括在注册时(使用 bcrypt)对用户和管理实体进行密码加密。现在我想添加一个管理员和一个用户来尝试我的登录引擎是否运行良好,但显然我无法在我的网站上注册一个新用户/管理员,因为安全引擎(即我无法访问 addUser 页面,因为没有管理员注册)。我试图直接从 phpMyAdmin 控制台创建一个管理员,但是在我输入管理员密码的那一刻,它被保存为纯文本(与我引擎中存储加密密码的注册阶段不同),因此登录失败。

那么,我该如何解决这个问题呢?

希望你们都明白这一点,否则尽管问!

提前致谢,煎饼

最佳答案

好的,所以我发现这个简单又好用 tutorial这解释了我们如何使用 Doctrine 的固定装置“自动生成”用户,其中有一个称为“加载”的方法,它简单地执行以下操作:

public function load(ObjectManager $manager)
{
$user = new User();
$user->setUsername("someuser");
$user->setSalt(md5(uniqid()));
$encoder = $this->container->get('security.encoder_factory')->getEncoder($user);
$user->setPassword($encoder->encodePassword('blue', $user->getSalt()));
$user->setEmail("someuser@mail.ca");

$manager->persist($user);

$manager->flush();
}

也感谢@acontell 的回复。也许我的解决方案将来会对您有所帮助。 :)

关于php - 如何在 symfony 中使用 bcrypt 密码加密添加管理员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28074543/

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