2017-10-30 21 views
0

パスワード変更依頼時にリスニングイベントに問題があります。ここでFOSユーザーパスワード変更イベントリスナー

はリスナー

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'))); 
} 

である。しかし何も起こりません。私はデバッガのブレークポイントを$ this-> tokenStorage-> setToken()に置くが、それは止まらなかった。 誰かがなぜこれが動作しないのか理解してもらえますか?

+0

このリスナーを 'services.yml'に登録しましたか?あなたはそれの設定を表示できますか? –

+0

CoreBundle \ EventListener \ ChangePasswordListener: タグ: - {name:kernel.event_subscriber} まず、これを入れても機能しませんでした。私はautowireを使っているので削除しましたが、うまくいきませんでした。 –

+0

あなたのサービス構成内にこのようなものを追加してくださいね。https://gist.github.com/kaduev13/b569ed0d53af70a4bc697bf7ee88c8bc –

答えて

0

ハハハ。私は間違ったコントローラーで泣きました。私が正しいと分かったら、すべてがうまくいった。あなたの助けに感謝Ivan

関連する問題