0
Ich habe ein Problem mit einem hörenden Ereignis beim Ändern des Passwortes zu übermitteln.FOS User Change Password Event Listener
Hier Zuhörer
public function __construct(
UrlGeneratorInterface $router,
Session $session,
TokenStorageInterface $tokenStorage
) {
$this->router = $router;
$this->session = $session;
$this->tokenStorage = $tokenStorage;
}
public static function getSubscribedEvents()
{
return [
FOSUserEvents::CHANGE_PASSWORD_SUCCESS => [
['onChangePasswordSuccess', +10000]
],
];
}
public function onChangePasswordSuccess(GetResponseUserEvent $event)
{
$this->tokenStorage->setToken(); // logout user
$this->session->invalidate();
$event->setResponse(new RedirectResponse($this->router->generate('fos_user_security_login')));
}
Aber nichts passiert. Ich habe Debugger Breakpoint auf $ this-> tokenStorage-> setToken() gesetzt, aber es war nicht halt. Könnte jemand mir helfen, herauszufinden, warum das nicht funktioniert
Hast du diesen Listener in 'services.yml' registriert? Kannst du seine Konfiguration zeigen? –
CoreBundle \ EventListener \ ChangePasswordListener: Tags: - {Name: kernel.event_subscriber} Zuerst habe ich das aber und es hat nicht funktioniert. Dann habe ich entfernt, weil ich autowire benutze und auch nicht funktioniert –
Ich denke, Sie sollten etwas wie das in Ihrer Dienste-Konfiguration hinzufügen .. https://gist.github.com/kaduev13/b569ed0d53af70a4bc697bf7ee88c8bc –