Symfony如何添加用户

Dav*_*vid 1 php symfony

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

我用userInterface实现用户实体,用sha512编码添加安全防火墙.

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

user_create:
       pattern: /create_user/{email}/{password}
        defaults: { _controller: MyBundleBackendBundle:Security:create }
Run Code Online (Sandbox Code Playgroud)

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

public function createAction($email,$password) {

}
Run Code Online (Sandbox Code Playgroud)

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

Dav*_*vid 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');
}
Run Code Online (Sandbox Code Playgroud)