Symfony如何添加用户

时间:2012-10-01 19:25:53

标签: php symfony

我想从Symfony中的PHP控制器创建数据库中的用户。

我使用userInterface实现创建用户实体,使用sha512编码添加安全防火墙。

要插入用户,我添加新路线:

user_create:
       pattern: /create_user/{email}/{password}
        defaults: { _controller: MyBundleBackendBundle:Security:create }

在安全控制器中添加新方法:

public function createAction($email,$password) {

}

我在PHP控制器操作中使用什么代码在sha512中使用salt创建数据库中的用户?

2 个答案:

答案 0 :(得分:10)

如何在代码中添加symfony中的用户:

public function createUserAction($email,$password) {

    $factory = $this->get('security.encoder_factory');

    $user = new User();

    $encoder = $factory->getEncoder($user);
    $user->setSalt(md5(time()));
    $pass = $encoder->encodePassword($password, $user->getSalt());
    $user->setEmail($email);
    $user->setPassword($pass);
    $user->setActive(1); //enable or disable

    $em = $this->getDoctrine()->getEntityManager();
    $em->persist($user);
    $em->flush();

    return new Response('Sucessful');
}

答案 1 :(得分:2)

仔细阅读SecurityHow to implement a simple Registration Form

如果您正在制作通用登录/注册系统,FOSUserBundle是一个不错的选择。