小编goo*_*and的帖子

如何在 Symfony 5 中编码密码?

我正在尝试在 Symfony 中对密码进行编码,在仔细遵循此处的文档之后,我似乎仍然做错了什么。

这是我的 RegisterController.php:

<?php
    namespace App\Controller;

    use App\Entity\User;
    use App\Form\Type\UserType;
    use Symfony\Component\HttpFoundation\Request;
    use Symfony\Component\Routing\Annotation\Route;
    use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
    use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;

class RegisterController extends AbstractController
{
private $passwordEncoder;

public function __construct(UserPasswordEncoderInterface $passwordEncoder)
{
    $this->passwordEncoder = $passwordEncoder;        
}

/**
    * @Route("/register", name="user.register")
    */
public function create(Request $request)
{
    $user = new User();

    $form = $this->createForm(UserType::class, $user);

    $form->handleRequest($request);

    if ($form->isSubmitted() && $form->isValid()) {

        $user->setPassword( 
            $this->passwordEncoder->encodePassword( $user, $user->getPassword() )
        );
Run Code Online (Sandbox Code Playgroud)

以上返回以下错误:

属性“plainPassword”和方法“getPlainPassword()”、“plainPassword()”、“isPlainPassword()”、“hasPlainPassword()”、“__get()”都不存在并且在类“App\”中具有公共访问权限实体\用户”。

这是我的 Register.twig.html:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>{% block …
Run Code Online (Sandbox Code Playgroud)

php password-encryption symfony

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

password-encryption ×1

php ×1

symfony ×1