我正在创建一个至少应具有3种用户类型的应用程序。它们都具有相同的登录表单和不同的注册表单。
每个用户都通过自己的页面链接。
所以现在我想知道使用Symfony 4实施此要求的最佳和最简单的方法吗?
答案 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
您可能会问自己一件事:如果客户也是驱动程序或管理员,该怎么办...