我正在使用一个使用多个数据库的Symfony2应用程序。我遵循了这个指南:https://stackoverflow.com/a/24585284/5244717所以我的所有路由都有一个带有数据库名称的前缀,应用程序应该从中获取数据。
但是现在我需要能够登录,我尝试使用FOSUserbundle,但我不能让FOSUserbundle使用公司前缀。我把它添加到config / routing.yml
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"
prefix: /{_site}
defaults:
_site: default
现在,当我转到http://localhost/company/login时,它会向我显示登录表单,但是当我登录时,它会给我这个错误:
您必须使用安全防火墙配置中的form_login配置防火墙处理的检查路径。
我不知道如何解决这个问题,如果FOSUserbundle甚至可以解决我在这里尝试做的事情。仅使用Symfony2一周并没有真正帮助。我一直在网上寻找一个很好的解决方案,在1个symfony包中使用多个数据库,但到目前为止收效甚微。每个公司都应该获得一个具有相同结构的独立数据库,但在Symfony2(或任何其他框架)中编码似乎是不可能的。
非常感谢任何帮助!
答案 0 :(得分:0)
您的选择,但不限于
1)。有多个防火墙
2)。在url
中使用子域而不是slugs我可能错了,但我相信symfony不允许在登录页面的路径中设置参数