Symfony One应用程序 - 多个子域

时间:2017-05-10 07:15:48

标签: php symfony security routing symfony-3.2

我想在Symfony 3应用程序中实现以下功能。假设我有2个限制区域供用户和管理员使用。

用户应该能够访问user.mydomain.com上的区域,而管理员应该访问admin.mydomain.com。

我有一个问题,希望有人能回答。

两者都有一些相同的路由,如/ login,/ register和/ dashboard。

是否可以在一个应用程序中实现?

就像用户访问user.mydomain.com/login一样,他应该能够以用户身份登录而不能以管理员身份登录。

管理员访问admin.mydomain.com/login应该只能以管理员身份登录。

我希望它清楚我的意思,并且有人可以发布一些指向文档或教程或给出示例的链接。

非常感谢指示。

2 个答案:

答案 0 :(得分:2)

我认为您正在寻找http://symfony.com/doc/current/routing/hostname_pattern.html

您还需要检查每个用户或管理员案例。然而,在登录并实际检查他们的角色之前,显然不可能知道用户是否是管理员,因此如果由我来决定只是进行一次公共登录(您可以在两个域上显示)并允许访问(重定向)登录后)基于角色到他们的主机名等价物。

此致

答案 1 :(得分:0)

您可以在路由中使用不同的路径/域,因此我尝试创建侦听器并将其(使用事件)连接到主请求

在这个监听器中,我会chceck谁被记录,并将其重定向到正确的路由

几年前我创建了监听器来改变路径ti图像缓存(liipimaginebundle),知道这不一样,但它可以给你提供想法

https://gist.github.com/poznet/842ae820a230ba982a66f854549b0e2b