src/Security/AdminLoginFormAuthenticator.php line 19
<?phpnamespace App\Security;use Doctrine\ORM\EntityManagerInterface;use Symfony\Component\HttpFoundation\RedirectResponse;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Generator\UrlGeneratorInterface;use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;use Symfony\Component\Security\Http\Authenticator\AbstractLoginFormAuthenticator;use Symfony\Component\Security\Http\Authenticator\Passport\Badge\CsrfTokenBadge;use Symfony\Component\Security\Http\Authenticator\Passport\Badge\RememberMeBadge;use Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge;use Symfony\Component\Security\Http\Authenticator\Passport\Credentials\PasswordCredentials;use Symfony\Component\Security\Http\Authenticator\Passport\Passport;use Symfony\Component\Security\Http\Util\TargetPathTrait;class AdminLoginFormAuthenticator extends AbstractLoginFormAuthenticator{use TargetPathTrait;public function __construct(private readonly EntityManagerInterface $entityManager,private readonly UrlGeneratorInterface $urlGenerator,) {}public function onAuthenticationSuccess(Request $request, TokenInterface $token, $firewallName): ?Response{if ($targetPath = $this->getTargetPath($request->getSession(), $firewallName)) {return new RedirectResponse($targetPath);}return new RedirectResponse($this->urlGenerator->generate('admin_dashboard_index'));}protected function getLoginUrl(Request $request): string{return $this->urlGenerator->generate('app_login');}public function authenticate(Request $request): Passport{$email = $request->request->get('email');$password = $request->request->get('password');$csrfToken = $request->request->get('_csrf_token');return new Passport(new UserBadge($email),new PasswordCredentials($password),[new CsrfTokenBadge('authenticate', $csrfToken),(new RememberMeBadge())->enable()]);}}