Symfony2 catch FOSUser onLogin event
If you want to do some action after the user login, you need to create a listener to that event.
The code above should work, just add your logic where needed.
1- Create the listener Class: you can place it in a folder of your bundle, called Listener
// Listener/LoginListener.php
/*** Custom login listener.***/
class LoginListener{
protected $userManager;
}
public function __construct(UserManagerInterface $userManager){
$this->userManager = $userManager;
}
public function onSecurityInteractiveLogin( InteractiveLoginEvent $event )
{
$user = $event->getAuthenticationToken()->getUser();
//do something
return new Response();
}
2- Configure your listener as a service:
#src/Acme/HelloBundle/Resources/config/services.yml
parameters:
interactive_login_listener.class:
Acme\UserBundle\Listener\LoginListener
services:
login_listener:
class: %interactive_login_listener.class%
arguments:
userManager: "@fos_user.user_manager"
tags:
- { name: kernel.event_listener, event: security.interactive_login, method: onSecurityInteractiveLogin }
That's it!
Written by pleone
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Php
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#