symfony/skeleton 登录的用户在会话中持久化,但在 getUser() 中不可用



我已经设置了一个简单的symfony/skeleton应用程序,其中包含用户实体和身份验证。 身份验证成功后,我调用包含以下代码的路由:

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

这会导致错误:

Call to a member function getUsername() on null

因此,显然安全组件现在与当前登录的用户无关。 但是,会话确实包含当前的用户名密码令牌(我使用转储进行了检查)。

当我使用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

只需使用$this->getUser();即可从扩展AbstractController的控制器获取经过身份验证的用户。

相关内容

  • 没有找到相关文章

最新更新