src/EventSubscriber/CheckVerifiedUserSubscriber.php line 13
<?phpnamespace App\EventSubscriber;use App\Entity\User;use Symfony\Component\EventDispatcher\EventSubscriberInterface;use Symfony\Component\Security\Core\Exception\CustomUserMessageAuthenticationException;use Symfony\Component\Security\Http\Authenticator\Passport\Passport;use Symfony\Component\Security\Http\Event\CheckPassportEvent;class CheckVerifiedUserSubscriber implements EventSubscriberInterface{public function onCheckPassport(CheckPassportEvent $event){$passport = $event->getPassport();if (!$passport instanceof Passport) {throw new \Exception('Unexpected passport type');}$user = $passport->getUser();if (!$user instanceof User) {throw new \Exception('Unexpected user type');}if (!$user->isVerified()) {throw new CustomUserMessageAuthenticationException("Vous n’avez pas encore valider votre email, veuillez cliquer sur le lien contenu dans l’email d'authentification.");}if ($user->getIsBanned()) {throw new CustomUserMessageAuthenticationException("Votre compte a été bloqué. Contacter un administrateur pour plus d'informations");}}public static function getSubscribedEvents(){return [CheckPassportEvent::class => ['onCheckPassport', -10],];}}