我正在为网络应用程序设计类来处理支付网关。该应用程序将成为一个使用 Identity 2.0 来处理和管理用户的 ASP.NET Web 应用程序。我将有 4 种不同类型/角色的用户登录应用程序。
不同用户的例子
- 客户
- 承包商
- 分包商
- 员工
其中一些用户类比其他用户有更多的数据要存储。我想弄清楚如何处理这个问题。
示例:客户将使用指定的承包商。没有其他用户(分包商、承包商和员工)不会拥有此属性。
我想知道我是否可以使用开箱即用的身份 rolemanager
来处理这些不同的角色,或者我是否应该使用从默认 appliationsuser
类继承并制作 4不同的对象。
最佳答案
因为您使用的是 ASP.NET Identity,所以我将执行如下操作:
- 在
IdentityRole
表中插入以下角色名称:Customers
、Contractors
、SubContractors
和Employees
。或者仅供那些将使用您的应用程序的人使用。 - 创建新类:
Customer
、Contractor
、SubContractor
和Employee
。这些类应该派生自IdentityUser
类。 - 每个特定属性都应定义到关联的派生类中。因此,由于客户将拥有他们使用的指定
Contractor
,因此您可以在Customer
类中创建类型为Contractor
的属性。 - 这里唯一需要注意的是,当您创建从
User
派生的实例时,请确保向其添加正确的角色。
关于c# - 如何使用角色和 OOP 继承管理 ASP.NET 身份用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45394937/