Вы должны написать свой собственный AuthenticationHandler
, который будет реализовывать два интерфейса ниже:
class AuthenticationHandler implements AuthenticationFailureHandlerInterface,
AuthenticationSuccessHandlerInterface
В этом обработчике вы должны определить два метода onAuthenticationFailure()
и onAuthenticationSuccess()
Внутриони просто проверяют, если $request->isXmlHttpRequest()
if ($request->isXmlHttpRequest()) {
...
return new Response($json);
} else {
...
return new RedirectResponse($url);
}
Не забудьте также установить ваш слушатель в security.yml
firewalls:
main:
....
your_form_login:
...
failure_handler: your.authentication_handler
success_handler: your.authentication_handler