我正在创建一个至少应该有 3 种用户类型的应用程序。它们都具有相同的登录表单和不同的注册表单。
每个用户都通过自己的页面链接。
所以现在我想知道使用Symfony 4实现此需求的最佳和最简单的方法?
t 很容易创建多个注册表,非常简单,我猜它不需要任何解释。最后,它只是一个在用户表中创建新记录的表单......
然后,您需要一个登录表单。很好,因为您可以为用户提供某些不同的角色。剩下的唯一问题是,您可能希望在成功登录时将不同的用户定向到不同的页面。这也很容易。阅读有关生成登录表单的文档。在步骤干燥,您可以在登录后重定向用户。
我的建议是保留一个 User 实体,有时使用并非每种类型的用户都需要的一些属性和方法。使用 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
您可能会问自己一件事:如果客户也是司机或管理员怎么办......