我的一個Symfony2服務中有一個非常奇怪的問題。 我想在我的服務的構造函數中獲取當前用戶,但SecurityContext-> getToken返回false!Symfony2服務構造函數中的getUser
這是我服務的構造:
public function __construct(Registry $doctrine, SecurityContext $context){
$this->doctrine = $doctrine;
$this->context = $context;
if(!$this->context->getToken()){
echo "Il y a une merde au niveau du token !";
}
$this->my_auth = $this->getMyAuth();
}
而且在這裏我service.yml
security.autorisation:
class: Nsi\SecurityBundle\Service\Autorisation
arguments: [@doctrine,@security.context]
但是,當我去我的管理頁面上,消息「前UNE merde服務聲明au niveau du Token「出現。 最令人驚訝的是,我的底部symfony工具欄顯示我的登錄信息!
我的項目是一個Symfony的2.3.11項目
思對你有所幫助
嘗試isGranted()上下文! –
首先緩存securityContext並在需要時調用getToken() - > getUser()(http://stackoverflow.com/questions/18770467/symfony2-why-gettoken-return-null-when-injecting-securitycontext-in- a-twigexte) – stwe
我需要在使用用戶信息的構造函數中執行查詢。在我的情況下,如何使用緩存系統來實現安全上下文? – Fabien