Я вхожу в Symfony и на самом деле я застрял на авторизации.
Я бы хотел перенаправить пользователя на определенный маршрут в зависимости от его роли.
О, я использую FOS Bundle.
services.yaml:
LogoutListener:
class: App\Listeners\LogoutListener
arguments:
userManager: "@fos_user.user_manager"
security.yaml:
firewalls:
main:
....
logout:
handlers: [logoutlistener]
ListenerClass:
namespace App\Listeners;
use FOS\UserBundle\Model\UserManager;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
use Symfony\Component\Security\Http\Logout\LogoutHandlerInterface;
use FOS\UserBundle\Model\UserManagerInterface;
class LogoutListener implements LogoutHandlerInterface {
protected $userManager;
/**
* LogoutListener constructor.
* @param UserManagerInterface $userManager
*/
public function __construct(UserManagerInterface $userManager){
$this->userManager = $userManager;
}
public function logout(Request $request, Response $response, TokenInterface $token) {
die('user logged out');
}
}
Это всегда дает мне:
InvalidArgumentException
Invalid service "LogoutListener": method "App\Listeners\LogoutListener::__construct()" has no argument type-hinted as "userManager". Check your service definition.
Любой намек на меня?
С уважением, Андро