2014-03-25 66 views
1

如何從synfomy安全會話訪問當前登錄的用戶ID?我不在課堂內部,所以$ this-> get('security.context') - > getToken()不起作用。以下是迄今爲止尚未開展的工作:是的,我是新來的Silex,希望得到任何建議。安全訪問Synfomy/Silex用戶數據

$app->get('security.context')->getToken() 
$app->getToken() 
$app->secruity->getToken() 

回答

1

您的拼寫一些錯誤:

$ APP->secruity - >爲gettoken()//你已經寫SECRUITY!

$ APP->安全 - >爲gettoken()//修正版本

也許這就是它不工作的原因。該SecurityProvider組件提供以下服務:

  • 安全
  • security.authentication_manager
  • security.access_manager
  • security.session_strategy
  • security.user_checker
  • security.last_error
  • 安全。 encoder_factory
  • 秒urity.encoder.digest

所以我想security.context不會硅石工作...

書面的文檔中,你可以通過訪問SecurityProvider例如:

$app['security']; 

爲了讓你可以使用當前用戶:

$token = $app['security']->getToken(); 
if (null !== $token) { 
    $user = $token->getUser(); 
} 

欲瞭解更多信息,請閱讀文檔SecurityServiceProvider

此外,請確保您已在您的應用程序中註冊了SecurityServiceProvider!

+0

感謝您的幫助。我在Silex網站上閱讀了一些文檔,但我不確定我是否在正確的位置。是的,有一個錯字,它沒什麼大不了的。 – user2626294

+0

不客氣;) – maddob