私は自分のアプリケーションに FOSUserbundle を実装しました。チェーン化されたユーザープロバイダーを機能させるだけでなく、デフォルトのコントローラーのいくつかをオーバーライドすることもできました。
ただし、1 つ問題があります。ログイン プロセスを傍受する方法を見つける必要があります。
私のユーザー オブジェクトはクライアント エンティティにリンクされています。クライアント エンティティが無効になっているため、有効であってもユーザー オブジェクトへのアクセスを拒否する必要があります。
私が試みたこと。
1) SecurityController を無駄に拡張しようとしましたが、コードを実行する前にリダイレクトしているようです。
2) ログイン フォームの _target_path を、クライアント エンティティのステータスをチェックするコントローラーに設定しようとしました。これは機能しているようですが、ユーザーをログアウトした後、
$this->get('request')->getSession()->invalidate() ;
ユーザーはログイン ページにリダイレクトされますが、クライアントがアクティブでないことを示すフラッシュ メッセージが twig テンプレートに表示されません。
どんな助けやアイデアも大歓迎です。