Merge remote-tracking branch 'refs/remotes/origin/main'
- Suppression dump
This commit is contained in:
@ -7,31 +7,39 @@ use App\Form\RegistrationType;
|
|||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
|
||||||
use Symfony\Component\Routing\Annotation\Route;
|
use Symfony\Component\Routing\Annotation\Route;
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
|
|
||||||
|
|
||||||
class RegistrationController extends AbstractController
|
class RegistrationController extends AbstractController
|
||||||
{
|
{
|
||||||
private $entityManager;
|
private $entityManager;
|
||||||
|
private $passwordHasher; // Correction du nom de la variable
|
||||||
|
|
||||||
public function __construct(EntityManagerInterface $entityManager) // Injection du service EntityManagerInterface
|
public function __construct(EntityManagerInterface $entityManager, UserPasswordHasherInterface $passwordHasher) // Correction ici
|
||||||
{
|
{
|
||||||
$this->entityManager = $entityManager;
|
$this->entityManager = $entityManager;
|
||||||
|
$this->passwordHasher = $passwordHasher;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('/registration', name: 'app_registration')]
|
#[Route('/registration', name: 'app_registration')]
|
||||||
public function register(Request $request): Response
|
public function register(Request $request): Response
|
||||||
{
|
{
|
||||||
$user = new User();
|
$user = new User();
|
||||||
$form = $this->createForm(RegistrationType::class, $user);
|
$form = $this->createForm(RegistrationType::class, $user);
|
||||||
|
|
||||||
$form->handleRequest($request);
|
$form->handleRequest($request);
|
||||||
|
|
||||||
if ($form->isSubmitted() && $form->isValid()) {
|
if ($form->isSubmitted() && $form->isValid()) {
|
||||||
// Utilisation de l'EntityManager injecté
|
// Hacher le mot de passe avant de persister l'utilisateur
|
||||||
|
$plainPassword = $user->getPassword(); // Récupération du mot de passe brut
|
||||||
|
$hashedPassword = $this->passwordHasher->hashPassword($user, $plainPassword); // Hachage du mot de passe
|
||||||
|
$user->setPassword($hashedPassword); // Remplacer le mot de passe brut par le mot de passe haché
|
||||||
|
|
||||||
|
// Persist de l'utilisateur haché
|
||||||
$this->entityManager->persist($user);
|
$this->entityManager->persist($user);
|
||||||
$this->entityManager->flush();
|
$this->entityManager->flush();
|
||||||
|
|
||||||
|
// Message flash de succès
|
||||||
$this->addFlash('success', 'Votre compte a été créé avec succès !');
|
$this->addFlash('success', 'Votre compte a été créé avec succès !');
|
||||||
return $this->redirectToRoute('home');
|
return $this->redirectToRoute('home');
|
||||||
}
|
}
|
||||||
@ -40,5 +48,4 @@ class RegistrationController extends AbstractController
|
|||||||
'form' => $form->createView(),
|
'form' => $form->createView(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4,9 +4,12 @@ namespace App\Entity;
|
|||||||
|
|
||||||
use App\Repository\UserRepository;
|
use App\Repository\UserRepository;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
|
||||||
|
use Symfony\Component\Security\Core\User\UserInterface;
|
||||||
|
|
||||||
|
|
||||||
#[ORM\Entity(repositoryClass: UserRepository::class)]
|
#[ORM\Entity(repositoryClass: UserRepository::class)]
|
||||||
class User
|
class User implements UserInterface, PasswordAuthenticatedUserInterface
|
||||||
{
|
{
|
||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
#[ORM\GeneratedValue]
|
#[ORM\GeneratedValue]
|
||||||
@ -92,4 +95,24 @@ class User
|
|||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSalt(): ?string
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getRoles(): array
|
||||||
|
{
|
||||||
|
// TODO: Implement getRoles() method.
|
||||||
|
}
|
||||||
|
|
||||||
|
public function eraseCredentials(): void
|
||||||
|
{
|
||||||
|
// TODO: Implement eraseCredentials() method.
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getUserIdentifier(): string
|
||||||
|
{
|
||||||
|
// TODO: Implement getUserIdentifier() method.
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ class GoogleBooksService
|
|||||||
],
|
],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
||||||
// Convertir la réponse JSON en tableau PHP
|
// Convertir la réponse JSON en tableau PHP
|
||||||
$dataArray = $response->toArray();
|
$dataArray = $response->toArray();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user