如何在Symfony2中的单独表中存储用户角色?

时间:2016-06-10 13:24:45

标签: php symfony doctrine-orm symfony-2.8

我的Symfony2.8项目中有以下doctrine实体。

用户

id
email
username
password

组织

id
name
subdomain

UserOrganization

organization_id
user_id
roles

我需要从 UserOrganization 表加载用户角色,那么如何覆盖Symfony身份验证流以从“UserOrganization”实体加载用户角色。

注意:

xyz.mydomain.com 此处xyz是组织。

因此,当用户尝试从 xyz 子域登录时,Symfony2必须从 UserOrganization 表中的xyz组织记录中读取用户的角色

1 个答案:

答案 0 :(得分:1)

您应该实施自己的Custom UserProvider

您可以在其中注入UserOrganization存储库并在已实现的提供程序上查询该存储库。

请记住,您的UserOrganization实体类必须实施UserInterface才能在安全流程中使用。