Symfony:多种用户类型

时间:2019-09-23 10:46:58

标签: symfony doctrine-orm

我正在创建一个至少应具有3种用户类型的应用程序。它们都具有相同的登录表单和不同的注册表单。

每个用户都通过自己的页面链接。

所以现在我想知道使用Symfony 4实施此要求的最佳和最简单的方法吗?

1 个答案:

答案 0 :(得分:0)

t创建多个注册表格非常容易,我猜它很简单,不需要任何解释。最后,它只是一种在User表中创建新记录的表单...

然后,您需要一个登录表单。很好,因为您可以赋予用户某些不同的角色。剩下的唯一问题是,您可能希望在成功登录后将不同的用户定向到不同的页面。这也非常容易。阅读有关generating a login form的文档。在步骤drie中,您可以在登录后重定向用户。

我的建议是保留一个User实体,该实体有时具有每种类型的用户都不需要的某些属性和方法。使用ROLES分隔不同类型的用户,尤其是当您要为某些类型的用户保护页面时。

还请阅读有关Hierarchical Roles的信息,以便您了解如何设置不同的角色,例如此处的小示例:

role_hierarchy:
    ROLE_DRIVER:         ROLE_USER  # normal driver
    ROLE_CUSTOMER:       ROLE_USER  # normal customer
    ROLE_ADMINISTRATOR:  ROLE_USER  # normal administrator
    ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ALLOWED_TO_SWITCH]  # this role is for you

您可能会问自己一件事:如果客户也是驱动程序或管理员,该怎么办...

相关问题