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

标签 php symfony doctrine-orm symfony-2.8

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

用户

id
email
username
password

组织

id
name
subdomain

用户组织

organization_id
user_id
roles

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

注意:

xyz.mydomain.com 这里的 xyz 是组织。

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

最佳答案

您应该实现自己的 Custom UserProvider

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

请记住,您的 UserOrganization 实体类必须实现 UserInterface以便在安全流程中使用。

关于php - 如何在 Symfony2 的单独表中存储用户角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37749450/

相关文章:

php - 教义2中索引外键以优化查询

php - 没有返回结果的更好方法?

php - 如何在 PHP OOP 中设置通知消息

php - 在学说查询生成器中获取日期

php - Symfony 控制台 Doctrine :schema:update --force SQLSTATE[HY000] [1045] Access denied for user 'root' @'localhost' (using password: NO)

php - 从未导入属性中的注释 "@OneToMany"(Doctrine2)

php - php-fpm的catch_workers_output配置项是什么意思?

php - 连接到 postgres 时出错(pg_close)

php - 在 Symfony2 中使用 buildForm->add() 函数时,可接受的选项有哪些?

doctrine-orm - Doctrine 类表继承方法