RegistrationController::registerAction() [Résolu]

Signaler
Messages postés
16
Date d'inscription
lundi 11 mars 2019
Statut
Membre
Dernière intervention
6 février 2020
-
Messages postés
16
Date d'inscription
lundi 11 mars 2019
Statut
Membre
Dernière intervention
6 février 2020
-
Bonjour,
svp j'ai un erreur au niveau de fonction registerAction() je veux encode mon mot de passe avec la algorithme bcrypt mais quand j ajout UserPasswordEncoderInterface $encoder dans mon fonction il afficher un erreur voila la code :
<?php
namespace SocieteBundle\Controller;

use SocieteBundle\Form\UserType;
use SocieteBundle\Entity\User;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;


class RegistrationController extends Controller
{

    public function registerAction(Request $request, UserPasswordEncoderInterface $encoder)
    {

        $user = new User();
        $form = $this->createForm(UserType::class, $user);
        $form->handleRequest($request);
        if ($form->isSubmitted()) {
            $password = $encoder->encodePassword($user, $user->getPlainPassword());
            /*$user->getPlainPassword()   */

            $user->setPassword( $password);
            $user->setIsActive(true);
            $user->addRole("ROLE_ADMIN");
            $entityManager = $this->getDoctrine()->getManager();
            $entityManager->persist($user);
            $entityManager->flush();
            $this->addFlash('success', 'Votre compte à bien été enregistré.');
            //return $this->redirectToRoute('login');
        }
        return $this->render('SocieteBundle:login:register.html.twig', ['form' => $form->createView(), 'mainNavRegistration' => true, 'title' => 'Inscription']);
    }
}

Controller "SocieteBundle\Controller\RegistrationController::registerAction()" requires that you provide a value for the "$encoder" argument. Either the argument is nullable and no null value has been provided, no default value has been provided or because there is a non optional argument after this one.

2 réponses

Messages postés
2081
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
16 mars 2020
2
Bonjour,

Le fichier security.yaml doit contenir la configuration des encodeurs, c'est par là que je commencerai à creuser.

Cordialement,
Messages postés
16
Date d'inscription
lundi 11 mars 2019
Statut
Membre
Dernière intervention
6 février 2020

oui merci