symfony用户登录限制为子网站

时间:2015-11-21 08:43:15

标签: security symfony

我有一个有多个子网站的symfony应用程序。 每个站点都有自己的一组用户,但所有用户都存储在同一个表中。所有用户都链接到1个子网站,而不是2个或更多。

根据本网站的使用情况,不允许用户在多个站点上使用单个帐户。

我有一个RequestSubscriber,它会找出当前正在请求的站点(基于主机名),并将一些额外信息推送到Request对象属性中。

当用户尝试登录symfony时,应该只尝试从当前子网站加载用户,而不是所有用户。

我有一个实现loadUserByUsername方法的Doctrine Repository类,但这只接收请求的用户名。

调整UserProvider的最佳方法是什么,以便只尝试加载当前站点的用户? 我可以通过这种方式配置安全性吗?

1 个答案:

答案 0 :(得分:0)

我已经获得的一个可能的解决方案是将RequestStack注入Repository类,并使用它为我的查询添加其他参数。

我需要为Doctrine EntityManager编写一个装饰器,以确保在请求存储库时注入它,但这不是一个真正的问题。

我真的不喜欢这个解决方案,所以我正在寻找更好的替代品(如果有的话)。

相关问题