add pseudo

This commit is contained in:
Olivier PARPAILLON
2024-11-19 14:34:37 +01:00
parent ff1f551726
commit dc01c2e216
7 changed files with 83 additions and 7 deletions

View File

@@ -0,0 +1,45 @@
<?php
namespace App\Security;
use App\Entity\Participant;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Security\Core\User\UserProviderInterface;
//use Symfony\Component\Security\Core\Exception\UsernameNotFoundException;
class UserProvider implements UserProviderInterface
{
private $entityManager;
public function __construct(EntityManagerInterface $entityManager)
{
$this->entityManager = $entityManager;
}
public function loadUserByIdentifier(string $username): UserInterface
{
// Cherche par email ou pseudo
$user = $this->entityManager->getRepository(Participant::class)
->findOneBy(['email' => $username]) // Cherche par email
?? $this->entityManager->getRepository(Participant::class)
->findOneBy(['pseudo' => $username]); // Ou par pseudo
if (!$user) {
throw new UsernameNotFoundException('Utilisateur non trouvé');
}
return $user;
}
public function refreshUser(UserInterface $user): UserInterface
{
// Permet de rafraîchir les données d'un utilisateur (pas toujours nécessaire)
return $user;
}
public function supportsClass(string $class): bool
{
return Participant::class === $class;
}
}