Я пытаюсь реализовать перенаправление после входа в приложение symfony2 для перенаправления, если у моего пользователя есть один атрибут или нет. Я создал класс AuthenticationSuccessHandler.php внутри обработчика папки в моем проекте:АутентификацияSuccessHandler и перенаправление после входа в систему
namespace Me\MyBundle\Handler; use Symfony\Component\Security\Http\HttpUtils; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; use Symfony\Component\Security\Http\Authentication\DefaultAuthenticationSuccessHandler; class AuthenticationSuccessHandler extends DefaultAuthenticationSuccessHandler { public function __construct(HttpUtils $httpUtils, array $options) { parent::__construct($httpUtils, $options); } public function onAuthenticationSuccess(Request $request, TokenInterface $token) { $user = $token->getUser(); if($user->getProfile()!=1){ $url = 'fos_user_profile_edit'; }else{ $url = 'My_route'; } return new RedirectResponse($this->router->generate($url)); } }
Но когда я войти, я получаю сообщение об ошибке:
Примечание: Не определено свойство: Me \ MyBundle \ Handler \ AuthenticationSuccessHandler :: $ маршрутизатор /var/www/MyBundle/src/Me/MyBundle/Handler/AuthenticationSuccessHandler.php линии 28
ошибка в происходит в «возвращение новой RedirectResponse ($ this-> router-> генерировать ($ URL));»
У меня также есть сервис:
my_auth_success_handler: class: Me\MyBundle\Handler\AuthenticationSuccessHandler public: false arguments: [ @security.http_utils, [] ]
и обработчик успеха в security.yml:
fos_facebook: success_handler: my_auth_success_handler
Любые идеи? Большое спасибо.