Symfony se connecté id de l'utilisateur
Je développe une application en utilisant Symfony2 et doctrine 2. Je voudrais savoir comment puis-je obtenir de l'utilisateur actuellement connecté Id.
- Dans symfony2.1 les contrôleurs, vous pouvez obtenir de l'utilisateur en appelant $this->getUser(). Je pense qu'il est nouveau dans cette version de symfony.
Vous devez vous connecter pour publier un commentaire.
Actuel versions de Symfony (Symfony 4, Symfony >=3.2)
Depuis Symfony >=3.2 vous pouvez simplement attendre un
UserInterface
mise en œuvre doit être injecté à votre contrôleur de l'action directement. Vous pouvez ensuite appelergetId()
pour récupérer de l'utilisateur identifiant:Vous pouvez toujours utiliser le jeton de sécurité de stockage, comme dans toutes les versions de Symfony depuis la 2.6. Par exemple, dans votre contrôleur:
Noter que la
Controller::getUser()
raccourci mentionné dans la prochaine partie de cette réponse est obsolète dans Symfony 3 et a été supprimée dans Symfony 4.0Héritage versions de Symfony
Le moyen le plus facile d'accès de l'utilisateur à être utilisé pour étendre le contrôleur de base, et d'utiliser le raccourci
getUser()
méthode (supprimé dans Symfony 4):Depuis Symfony 2.6 vous pouvez récupérer un utilisateur à partir de l'émission de jeton de sécurité de stockage:
Avant de Symfony 2.6, le jeton est accessible à partir du contexte de sécurité de service à la place:
Noter que le contexte de sécurité de service est obsolète dans Symfony 2 et a été supprimée dans Symfony 3.0.
Dans symfony2, nous pouvons obtenir ce plus simple par le présent code:
Vous pouvez obtenir la variable avec le code ci-dessous:
$userId
Cela peut s'habiller de la méthode:
Et l'induction $this->getUserId()