我想从Symfony中的PHP控制器创建数据库中的用户。
我使用userInterface实现创建用户实体,使用sha512编码添加安全防火墙。
要插入用户,我添加新路线:
user_create:
pattern: /create_user/{email}/{password}
defaults: { _controller: MyBundleBackendBundle:Security:create }
在安全控制器中添加新方法:
public function createAction($email,$password) {
}
我在PHP控制器操作中使用什么代码在sha512中使用salt创建数据库中的用户?
答案 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)
仔细阅读Security和How to implement a simple Registration Form
如果您正在制作通用登录/注册系统,FOSUserBundle是一个不错的选择。