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

我在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组织记录中读取用户的角色

最佳答案 你应该实现自己的
Custom UserProvider

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

请记住,您的UserOrganization Entity类必须实现UserInterface才能在安全流程中使用.

点赞