我需要在登录表单和注册表单中放入同一页面。我正在使用Symfony 3.2和FOS User Bundle。Symfony3在FOSUserBundle上的一个模板中登录并注册表单
我发现这一点:How to merge login and register form in one template on FOSUserBundle
这是我第一次的做法,但有一个问题。在验证错误时,页面被重定向到另一条路线(仅显示提交表单的模板)。问题在于SecurityController和RegistrationController不知道哪个控制器会呈现树枝中的两个fos控制器,它们只是显示表单模板。通过这种方法,我无法重写fos控制器显示的模板来显示主模板,因为会产生无限递归。
我试着覆盖fos控制器对表单的验证错误进行重定向,但重定向会使验证消息丢失。
我也尝试将请求转发到两个FOS SecurityController和这个RegistrationController(是这样的:http://symfony.com/doc/current/controller/forwarding.html),但在登录的检查行动,我得到: 的RuntimeException“你必须配置支票路径通过使用防火墙来处理form_login在您的安全防火墙配置中。'。它已经被配置并正在工作,但直接将请求转发给控制器似乎打破了它(我无法弄清楚登录检查是如何进行的,因为检查方法只返回运行时异常)
我能想到的最后一个解决方案是在新控制器中创建两个表单,但我不知道如何手动调用fos用户登录检查(对于注册,我可以从RegistrationController复制所有registerAction)。
谢谢你的时间。