Создать обработчик аутентификации:
namespace YourVendor\UserBundle\Handler;
// "use" statements here
class AuthenticationHandler
implements AuthenticationSuccessHandlerInterface,
AuthenticationFailureHandlerInterface
{
public function onAuthenticationSuccess(Request $request, TokenInterface $token)
{
if ($request->isXmlHttpRequest()) {
$result = array('success' => true);
return new Response(json_encode($result));
} else {
// Handle non XmlHttp request here
}
}
public function onAuthenticationFailure(Request $request, AuthenticationException $exception)
{
if ($request->isXmlHttpRequest()) {
$result = array('success' => false);
return new Response(json_encode($result));
} else {
// Handle non XmlHttp request here
}
}
}
Зарегистрировать обработчик как сервис:
services:
authentication_handler:
class: YourVendor\UserBundle\Handler\AuthenticationHandler
Зарегистрируйте службу в брандмауэре:
firewalls:
main:
form_login:
success_handler: authentication_handler
failure_handler: authentication_handler
Это грубый пример, чтобы дать вам общее представление - вам нужно выяснить детали самостоятельно. Если вы застряли и нуждаетесь в дополнительных разъяснениях, оставьте свои вопросы в комментариях, и я постараюсь разработать пример.