リスナー内から現在のユーザーをプログラムでログアウトしようとしています。私はここでそれを読みました
$this->get('security.context')->setToken(null);
$this->get('request')->getSession()->invalidate();
トリック$this->container->get('security.context')->getToken()->getUser();
を行いますが、トークンが now であるため、もう呼び出すことはできませんNULL
。
ユーザーをログアウトしても、アプリケーションを正常に実行するにはどうすればよいですか? コントローラー関数で getUser() を呼び出しているため、トークンを認証されていないユーザーに対応するものに戻す必要があります。これどうやってするの?
また、プログラムで新しいセッションを開始し、ユーザーがログアウトしたことを通知するフラッシュ メッセージを設定する方法があれば、それは素晴らしいことです。