Пользователь symfony/skeleton вошел в систему в сеансе, но недоступен в getUser()

Я создал простой symfony/skeleton приложение, которое содержит сущность пользователя и аутентификацию. Когда после успешной аутентификации я вызываю маршрут, который содержит следующий код:

public function index(Security $security)
{
   $username = $security->getUser()->getUsername();

Это приводит к ошибке:

Call to a member function getUsername() on null

Таким образом, очевидно, что компонент безопасности не касается текущего зарегистрированного пользователя. Сессия, однако, содержит текущий UsernamePasswordToken (я проверил, используя dump).

Тот же код работает нормально, когда я использую website-skeleton, Чего не хватает в скелете?

Мой брандмауэр настроен так:

firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false
    main:
        anonymous: true
        logout:
            path: ^/user/logout
        json_login:
            check_path: /user/login

1 ответ

Вы можете получить аутентифицированного пользователя из контроллера, который расширяет AbstractController просто используя $this->getUser();,

Другие вопросы по тегам