1

私は自分のアプリケーションに FOSUserbundle を実装しました。チェーン化されたユーザープロバイダーを機能させるだけでなく、デフォルトのコントローラーのいくつかをオーバーライドすることもできました。

ただし、1 つ問題があります。ログイン プロセスを傍受する方法を見つける必要があります。

私のユーザー オブジェクトはクライアント エンティティにリンクされています。クライアント エンティティが無効になっているため、有効であってもユーザー オブジェクトへのアクセスを拒否する必要があります。

私が試みたこと。

1) SecurityController を無駄に拡張しようとしましたが、コードを実行する前にリダイレクトしているようです。

2) ログイン フォームの _target_path を、クライアント エンティティのステータスをチェックするコントローラーに設定しようとしました。これは機能しているようですが、ユーザーをログアウトした後、

$this->get('request')->getSession()->invalidate() ;

ユーザーはログイン ページにリダイレクトされますが、クライアントがアクティブでないことを示すフラッシュ メッセージが twig テンプレートに表示されません。

どんな助けやアイデアも大歓迎です。

4

1 に答える 1

3

ログインとログアウトのプロセスにハンドラーをアタッチすることをお勧めします: http://www.reecefowell.com/2011/10/26/redirecting-on-loginlogout-in-symfony2-using-loginhandlers/

于 2012-11-09T02:40:04.023 に答える