src/Security/Authenticator/EmployeeAuthenticator.php line 20
<?phpdeclare(strict_types=1);namespace App\Security\Authenticator;use App\Form\Login\Model\EmployeeLoginModel;use App\Form\Login\Type\EmployeeLoginType;use Symfony\Component\Form\FormFactoryInterface;use Symfony\Component\HttpFoundation\RedirectResponse;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\RouterInterface;use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;use Symfony\Component\Security\Http\Authenticator\AbstractLoginFormAuthenticator;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 EmployeeAuthenticator extends AbstractLoginFormAuthenticator{use TargetPathTrait;public function __construct(private RouterInterface $router,private FormFactoryInterface $formFactory,) {}protected function getLoginUrl(Request $request): string{return $this->router->generate('management_login');}public function authenticate(Request $request): Passport{$form = $this->formFactory->create(EmployeeLoginType::class);$form->handleRequest($request);/** @var EmployeeLoginModel $model */$model = $form->getData();$username = $model->getUsername();$password = $model->getPassword();return new Passport(new UserBadge($username),new PasswordCredentials($password),);}public function onAuthenticationSuccess(Request $request, TokenInterface $token, string $firewallName): ?Response{$targetUrl = $this->getTargetPath($request->getSession(), 'management');if ($targetUrl) {return new RedirectResponse($targetUrl);}return new RedirectResponse($this->router->generate('management_office_list'));}}