2012-03-23 4 views
3

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

Я предполагаю, что есть что-то не так в моем src\Acme\TestBundle\resources\Config\services.yml:

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

Это тестовый класс, используйте оператор удаляется для читаемости:

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) 
    { 
    } 

} 

ответ

2

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

form_login: 
    success_handler: authentication_handler 
    failure_handler: authentication_handler 
logout: 
    success_handler: authentication_handler 
Смежные вопросы