如果他们尝试访问登录页面,我尝试了 3 天在 FOSUser 中进行重定向以将登录的人员重定向到索引,但不幸的是,似乎没有办法做到这一点。
我怎样才能做到这一点 ?
如果他们尝试访问登录页面,我尝试了 3 天在 FOSUser 中进行重定向以将登录的人员重定向到索引,但不幸的是,似乎没有办法做到这一点。
我怎样才能做到这一点 ?
loginAction 中的这个小扩展应该可以解决问题。
$user = $this->container->get('security.context')->getToken()->getUser()
if (is_object($user) && $user instanceof UserInterface) {
return new RedirectResponse($this->container->get('router')->generate('_your_route'));
}
您可以覆盖 FOSUserBundle SecurityController loginAction() 方法。在内部,检查用户是否已连接并在需要时$this->container->get('security.context')->getToken()->getUser();
重定向。$this->redirect
这可以通过防火墙配置中的default_target_path来完成:
security:
firewalls:
somename:
form_login:
default_target_path: /your-desired-path
在书中找到官方说明:http: //symfony.com/doc/current/reference/configuration/security.html#form-login-configuration