Symfony登录FosUserBundle重定向


Symfony login FosUserBundle redirect

我在我的网站导航栏中使用了这个

{{ render(controller('FOSUserBundle:Security:login')) }}

我把登录表单在我的导航栏,我的登录工作,当我把正确的数据进入..当数据不正确时,我的问题来了,因为渲染重定向我在login.html.twig页面上告诉我错误消息。我想我的问题在这一行

protected function renderLogin(array $data)
   {
  return $this->render('FOSUserBundle:Security:login.html.twig', $data);
}

我试图改变这一点,与初始页面或导航栏的目录,但不是好方法..

我该怎么办??我想在索引中的错误信息,我不想重定向登录页面..

如果你从FOSUserBundle开始,你就学会了导入bundle的路由文件:

# app/config/routing.yml
fos_user:
    resource: "@FOSUserBundle/Resources/config/routing/all.xml"

现在看一下这里,看看如何导入不同的部分。

将它们替换为您首先导入它们的那个,但要跳过第一个(security.xml)

下一步打开vendor/friendsofsymfony/user-bundle/Resources/config/routing/security.xml并将其复制到您自己的项目。将/login路径更改为您自己的路径/

覆盖symfony登录路由:

# app/config/routing.yml
fos_user:
    resource: "@FOSUserBundle/Resources/config/routing/all.xml"
fos_user_security_login:
    path:      /
    defaults:  { _controller: AppBundle:Default:index }

在security.yml中添加login_path: /选项

# app/config/security.yml
security:
    firewalls:
        main:
            form_login:
                login_path: /

将以下内容添加到security.yml:

//...
    firewalls:
        main:
            // ...
            form_login:
                login_path: /
                // ...
    我编辑了我的第一篇文章。