Symfony 2:密码加密问题

时间:2011-09-15 14:04:03

标签: symfony

我用表单构建器制作了一个简单的注册表单。看来我在文档和文章中做了一切,但我仍然无法将密码存储在数据库中,而不是以纯文本形式存储。

以下是一些文件,请帮助我。

security.yml:http://pastebin.com/4FwBaZQK
Acme \ UserBundle \ Entity \ User:http://pastebin.com/iUGd4Cz1
Acme \ SecurityBundke \ Controller \ SecurityController:http://pastebin.com/wTVy2zE2

1 个答案:

答案 0 :(得分:15)

查看encoding user passwords上的文档。

文档中的代码片段应该在绑定后应用于用户对象,但在它被持久化和刷新之前(因此在安全控制器的第45和46行之间):

$factory = $this->get('security.encoder_factory');
$user = new Acme\UserBundle\Entity\User();

$encoder = $factory->getEncoder($user);
$password = $encoder->encodePassword($user->getPassword(), $user->getSalt());
$user->setPassword($password);