Подскажите, как в symfony вызвать getUser в EventSubscriber, но при этом оставить RequestEvent? Пробовал разные способы, но везде возвращает null, хотя юзер точно авторизован.
пример 1 c Security
private $security;
public function __construct(Security $security)
{
$this->security = $security;
}
public function onKernelRequest(RequestEvent $event)
{
$request = $event->getRequest();
dd($this->security->getUser());
if ($request->hasPreviousSession()) {
return;
}
}
пример 2 с TokenStorageInterface
private $tokenStorage;
public function __construct(TokenStorageInterface $tokenStorage)
{
$this->tokenStorage = $tokenStorage;
}
public function onKernelRequest(RequestEvent $event)
{
$request = $event->getRequest();
dd($this->tokenStorage->getToken()->getUser());
if ($request->hasPreviousSession()) {
return;
}
}
пример 3 с AuthorizationCheckerInterface
protected $authorizationChecker;
public function __construct(AuthorizationCheckerInterface $authorizationChecker)
{
$this->authorizationChecker = $authorizationChecker;
}
public function onKernelRequest(RequestEvent $event)
{
$request = $event->getRequest();
dd($this->authorizationChecker->isGranted('ROLE_ADMIN'));
if ($request->hasPreviousSession()) {
return;
}
}
везде либо null, либо ошибку выбрасывает