diff --git a/Event/LdapUserEvent.php b/Event/LdapUserEvent.php index f0046b8..7619e97 100644 --- a/Event/LdapUserEvent.php +++ b/Event/LdapUserEvent.php @@ -5,16 +5,19 @@ use Symfony\Component\EventDispatcher\Event; use Symfony\Component\Security\Core\User\UserInterface; +use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; use IMAG\LdapBundle\User\LdapUserInterface; class LdapUserEvent extends Event { private $user; + private $token; - public function __construct(LdapUserInterface $user) + public function __construct(LdapUserInterface $user, TokenInterface $token) { $this->user = $user; + $this->token = $token; } public function getUser() @@ -28,4 +31,15 @@ public function setUser($user) return $this; } + + public function getToken() + { + return $this->token; + } + + public function setToken($token) + { + $this->token = $token; + return $this; + } } diff --git a/Provider/LdapAuthenticationProvider.php b/Provider/LdapAuthenticationProvider.php index 91b85f5..be8ab21 100644 --- a/Provider/LdapAuthenticationProvider.php +++ b/Provider/LdapAuthenticationProvider.php @@ -96,7 +96,7 @@ public function authenticate(TokenInterface $token) private function ldapAuthenticate(LdapUserInterface $user, TokenInterface $token) { if (null !== $this->dispatcher) { - $userEvent = new LdapUserEvent($user); + $userEvent = new LdapUserEvent($user, $token); try { $this->dispatcher->dispatch(LdapEvents::PRE_BIND, $userEvent); } catch (AuthenticationException $expt) { @@ -114,7 +114,7 @@ private function ldapAuthenticate(LdapUserInterface $user, TokenInterface $token } if (null !== $this->dispatcher) { - $userEvent = new LdapUserEvent($user); + $userEvent = new LdapUserEvent($user, $token); try { $this->dispatcher->dispatch(LdapEvents::POST_BIND, $userEvent);