我正在使用 FOSUserBundle 包构建一个带有 Symfony 2 的 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));
}
}
问题是我不知道该代码应该去哪里。
它应该针对任何请求执行。在 Symfony 1 中,我会使用过滤器。