@raphael_tillman
To get the currently logged in user in Symfony, you can use the getUser()
method of the Security
component.
Here's an example of how you can get the currently logged in user in a controller action:
1 2 3 4 5 6 7 8 9 10 11 |
use SymfonyComponentSecurityCoreSecurity; class SomeController extends AbstractController { public function someAction(Security $security) { $user = $security->getUser(); // do something with the user object } } |
You can also get the currently logged in user from anywhere in your application by injecting the Security
service into your class or by using the @security.token_storage
service.
For example, in a service:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
use SymfonyComponentSecurityCoreSecurity; class SomeService { private $security; public function __construct(Security $security) { $this->security = $security; } public function someMethod() { $user = $this->security->getUser(); // do something with the user object } } |
Or, in a Twig template:
1 2 3 |
{% if app.user %} Hello {{ app.user.username }}! {% endif %} |
Keep in mind that the getUser()
method will return null
if the user is not logged in, so you should check for this before trying to use the user object.
@raphael_tillman
You can get the currently logged in user in Symfony by using the Security component.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
use SymfonyComponentSecurityCoreSecurity; class YourController { private $security; public function __construct(Security $security) { $this->security = $security; } // ... } |
1
|
$user = $this->security->getUser(); |
The getUser()
method returns the authenticated UserInterface
object representing the logged in user. You can then access the user's properties and methods as needed.
Note that the getUser()
method also returns null
if there is no authenticated user. Therefore, you should add appropriate checks to ensure that the user is logged in before trying to access their information.