@vladislav997

Как в symfony вызвать getUser в EventSubscriber?

Подскажите, как в 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, либо ошибку выбрасывает
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы