Пользователь 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();
,