在 symfony 中管理不同的用户类型
Manage differents user types in symfony
我构建了一个包含不同类型用户(经理、用户、管理员)的应用程序。
每种类型的用户都可以做特定的事情,并与其他实体有特定的关系。例如,一个经理链接到许多工厂。但是一个简单的用户没有链接到任何工厂。
所以我必须在我的应用程序中为不同类型的用户管理不同的实体(代表不同的表)。
我看到 FOSUserBundle 只能处理一个用于用户身份验证的实体。
所以我不知道如何处理我的用户管理。
有做这件事的想法吗?
感谢您的宝贵时间。
您可以创建一个特定的组,其中独立包含她的配置和概念。
在您必须使用 FOSUserBundle 逻辑插入这些组之后。
通过混合使用 2 个逻辑概念,您可以创建您想要的内容。
您需要稍微回顾一下您的设计。您应该使用用户角色来完成您的建议。您的所有用户都应该属于相同的 class 类型。
您的用户 class 应该与您的工厂 class 建立关系,就像这样;
class User {
// ....
/**
*
* @ORM\ManyToMany(targetEntity="Factory", mappedBy="users")
*/
private $factories;
// .....
}
反之(可选:如果你需要从另一个方向拉取数据)
class Factory {
// ....
/**
*
* @ORM\ManyToMany(targetEntity="User", InversedBy="factories")
*/
private $users;
}
然后您可以 restrict/allow 通过防火墙访问,或者通过注释或脚本检查直接在控制器中访问。
有关您需要的所有详细信息,请参阅 here and here。
这样您就可以使用 FOSUserBundle 附带的任何身份验证。
当涉及到 CRUD 活动时,您需要 formType classes。构建您自己的 baseUser class 以包含所有用户类型所需的所有字段,并针对您的每个特殊情况扩展它。
我构建了一个包含不同类型用户(经理、用户、管理员)的应用程序。
每种类型的用户都可以做特定的事情,并与其他实体有特定的关系。例如,一个经理链接到许多工厂。但是一个简单的用户没有链接到任何工厂。 所以我必须在我的应用程序中为不同类型的用户管理不同的实体(代表不同的表)。
我看到 FOSUserBundle 只能处理一个用于用户身份验证的实体。 所以我不知道如何处理我的用户管理。
有做这件事的想法吗?
感谢您的宝贵时间。
您可以创建一个特定的组,其中独立包含她的配置和概念。
在您必须使用 FOSUserBundle 逻辑插入这些组之后。
通过混合使用 2 个逻辑概念,您可以创建您想要的内容。
您需要稍微回顾一下您的设计。您应该使用用户角色来完成您的建议。您的所有用户都应该属于相同的 class 类型。
您的用户 class 应该与您的工厂 class 建立关系,就像这样;
class User {
// ....
/**
*
* @ORM\ManyToMany(targetEntity="Factory", mappedBy="users")
*/
private $factories;
// .....
}
反之(可选:如果你需要从另一个方向拉取数据)
class Factory {
// ....
/**
*
* @ORM\ManyToMany(targetEntity="User", InversedBy="factories")
*/
private $users;
}
然后您可以 restrict/allow 通过防火墙访问,或者通过注释或脚本检查直接在控制器中访问。
有关您需要的所有详细信息,请参阅 here and here。
这样您就可以使用 FOSUserBundle 附带的任何身份验证。
当涉及到 CRUD 活动时,您需要 formType classes。构建您自己的 baseUser class 以包含所有用户类型所需的所有字段,并针对您的每个特殊情况扩展它。