Symfony2市场结构的多个角色(FOSUser / PUGXMultiUser)

时间:2016-04-08 13:44:39

标签: php symfony fosuserbundle pugxmultiuserbundle

我正在使用Symfony2开发市场应用程序 我有两个用户角色:buyerseller

“默认”角色是buyer,因为每个注册的人都可以将市场作为买家。 我目前正在使用FOSUserBundle进行用户管理,但是当我想要实现应用的seller部分时,我最近陷入困境。

我需要提供三种“注册”服务:

  • 用户决定注册为buyer,这是我使用FOSUserBundle设置的主要注册表单
  • 用户决定注册为seller,然后我需要另一个包含更多必填字段的注册表单,但无论如何,角色为seller的用户也将拥有buyer角色所有用户的基本角色。
  • 当前注册为buyer的用户决定将其帐户升级为seller,只会询问其他字段

由于每个注册用户都有buyer个角色,我的课程就像:

class User extends BaseUser implements UserInterface, \Serializable // Buyer
{
   // ...

   /**
    * @ORM\OneToOne(targetEntity="Seller",inversedBy="user")
    * @ORR\JoinColumn(name="seller_id",referencedColumn="id")
    **/
    private $seller;
}

class Seller
{
    // ...

}

为了能够处理多个注册表单,我最近尝试使用PUGXMultiUserBundle,但我不知道如何使用我的代码。

我正在使用OneToOne关系来链接buyerseller,但PUGXMultiUserBundle需要使用带有鉴别器的继承。
这不是问题,我可以改变我的代码并且已经尝试过这样做但是让我感到困惑的是User类必须是抽象的。

根据我的理解,我的课程必须如下:

User extends BaseUser (abstract)
Buyer extends User
Seller extends User

但我有:

User extends BaseUser (semantically my Buyer class)
Seller extends User

我该怎么办?如何重新组织我的类层次结构? PUGXMultiUserBundle是否适合我想要的解决方案?

由于

0 个答案:

没有答案