我没有一个控制器动作的主页,因为奏鸣曲页是强制性的。但是当用户已经通过身份验证并返回到根目录/(基本上是主页)时,我希望经过身份验证的用户的新主页成为他的仪表板(地址/profile/),这就是为什么我找到了从主页(/)到仪表板(/profile/)的重定向。
我可以在哪里/如何放置这个重定向?(并避免javascript重定向)
感谢您的帮助
您不需要设置重定向,只需在配置文件中添加默认目标路径:
firewalls:
secured_area:
form_login:
always_use_default_target_path: true
default_target_path: /loggedinpage
我明白了你只需创建你的动作:
/**
* Home page
*
* @Route("/", name="homepage")
*/
public function homeAction()
{
/** @var User $user */
$user = $this->get('security.token_storage')->getToken()->getUser();
if (is_object($user) and $user instanceof User) {
return $this->redirectToRoute('sonata_user_profile_show');
}
return $this->render('YourBestBundle:Template:template_home_layout.html.twig');
}
然后在数据库"page__page"表中搜索主页路由与parent_id=null,并在列"route_name"中选择"page_slug"(意味着由奏鸣曲页面处理),您替换为您的新主页路由"主页"(来自homeAction())。这就是