Как зарегистрировать службу обработчика аутентификации в Symfony2? - PullRequest
3 голосов
/ 23 марта 2012

Мне нужно написать базовый обработчик аутентификации.В моем onAuthenticationFailure, только для тестирования, я var-dumping $request.он должен работать с использованием неверных учетных данных, но ничего не произошло.

Я думаю, что-то не так в моем src\Acme\TestBundle\resources\Config\services.yml:

services:
    authentication_handler:
        class: Acme\TestBundle\Handler\AuthenticationHandler

Это тестовый класс, оператор use удален для удобства чтения

namespace Acme\TestBundle\Handler;

class AuthenticationHandler implements AuthenticationSuccessHandlerInterface,
    AuthenticationFailureHandlerInterface, LogoutSuccessHandlerInterface
{

    function onAuthenticationSuccess(Request $request, TokenInterface $token)
    {
        $user = $token->getUser();
    }

    function onAuthenticationFailure(Request $request,
        AuthenticationException $exception)
    {
        var_dump($request);
        die();
    }

    public function onLogoutSuccess(Request $request)
    {
    }

}

1 Ответ

2 голосов
/ 23 марта 2012

Вам необходимо установить обработчик в файле security.yml:

form_login:
    success_handler: authentication_handler
    failure_handler: authentication_handler
logout:
    success_handler: authentication_handler
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...