FOSUserBundleバンドルを使用してSymfony2でWebアプリケーションを構築しています。
ユーザーはアカウントを作成し、ログインしてアプリケーションの使用を開始します。
私が今達成したいのは、ユーザーがログインしている場合に表示されている可能性のある任意のページからユーザーを自分のアカウントにリダイレクトさせることです。
これには次のものが含まれます。
- ログインページに戻った場合
- 登録ページに戻った場合
- 彼らがウェブサイトのホームページに行くなら
- メールを確認したら
- パスワードをリセットしたら
基本的に、コードは次のようになります。
$container = $this->container;
$accountRouteName = "DanyukiWebappBundle_account";
if( $container->get('security.context')->isGranted('IS_AUTHENTICATED_FULLY') ){
// authenticated (NON anonymous)
$routeName = $container->get('request')->get('_route');
if ($routeName != $accountRouteName) {
return $this->redirect($this->generateUrl($accountRouteName));
}
}
問題は、そのコードがどこに行くべきかわからないことです。
すべての要求に対して実行する必要があります。Symfony1ではフィルターを使用していました。