在考虑子域时进行身份验证

时间:2013-02-26 10:49:24

标签: security symfony subdomain

我们开发了一个多租户系统,其中客户端由子域标识。每个客户都可以有很多用户。

大多数用户只能访问一个子域,但有些用户可以访问多个子域。用户还可以在每个子域上拥有不同的角色。

因此,我们需要检查用户是否在当前子域中具有任何角色。如果没有,身份验证应该失败。

其次,如果用户可以访问多个子域,则可以在它们之间切换。在这种情况下,必须从数据库中重新查询用户的角色。

目前,我们使用一个非常hacky解决方案与自定义EntityProvider。我非常不满意那个。

P.S。:系统背后的数据库是遗留的,所以我们无法改变它来使用ACL或其他。

1 个答案:

答案 0 :(得分:0)

如果没有看到您的架构,就无法给出细节,但我的回答here描述了我如何使用kernel.request监听器来激活基于请求的子域的教义过滤器。我使用的是mongodb,但对于教条主义来说它基本相同。