0

如果他们尝试访问登录页面,我尝试了 3 天在 FOSUser 中进行重定向以将登录的人员重定向到索引,但不幸的是,似乎没有办法做到这一点。

我怎样才能做到这一点 ?

4

3 回答 3

1

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'));
}
于 2012-12-03T15:27:56.143 回答
0

您可以覆盖 FOSUserBundle SecurityController loginAction() 方法。在内部,检查用户是否已连接并在需要时$this->container->get('security.context')->getToken()->getUser();重定向。$this->redirect

于 2012-12-03T02:17:23.573 回答
0

这可以通过防火墙配置中的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

于 2012-12-03T11:46:20.990 回答