https://symfony.com/doc/current/security.html#retrieving-the-user-object
После аутентификации к объекту User текущего пользователя можно получить доступ через ярлык getUser () (который использует службу security.token_storage). Внутри контроллера это будет выглядеть так:
public function index()
{
$this->denyAccessUnlessGranted('IS_AUTHENTICATED_FULLY');
$user = $this->getUser();
}
Пользователь будет объектом, и класс этого объекта будет зависеть от вашего провайдера. Но вы не сказали нам, какого провайдера вы используете, поэтому я не могу, кроме этого, рассказать вам, как получить сам идентификатор.
Еще один способ получить пользователя:
Альтернативный способ получить текущего пользователя в контроллере состоит в том, чтобы напечатать подсказку контроллера с параметром UserInterface (и по умолчанию он равен нулю, если вход в систему необязателен):
use Symfony\Component\Security\Core\User\UserInterface\UserInterface;
public function indexAction(UserInterface $user = null)
{
// $user is null when not logged-in or anon.
}
Это рекомендуется только для опытных разработчиков, которые не выходят из базового контроллера Symfony и не используют ControllerTrait. В противном случае рекомендуется продолжать использовать ярлык getUser ().