如何从synfomy安全会话中访问当前登录的用户ID?我不在课堂上,所以$ this-> get('security.context') - > getToken()不起作用。以下是迄今为止尚无法解决的问题:是的,我是Silex的新手,非常感谢任何建议。
$app->get('security.context')->getToken()
$app->getToken()
$app->secruity->getToken()
答案 0 :(得分:1)
拼写错误:
$ app-> secruity - > getToken()//您已写过SECRUITY !!!
$ app-> 安全 - > getToken()//修正版
也许这就是它不起作用的原因。 SecurityProvider组件提供以下服务:
所以我猜 security.context 在silex中不起作用......
如文档中所述,您可以通过以下方式访问 SecurityProvider 实例:
$app['security'];
要获取当前用户,您可以使用:
$token = $app['security']->getToken();
if (null !== $token) {
$user = $token->getUser();
}
有关更多信息,请阅读SecurityServiceProvider
的文档另外,请确保您已在应用中注册了SecurityServiceProvider !!!