如何使用角色和OOP继承来管理ASP.NET标识用户

时间:2017-07-29 23:21:51

标签: c# asp.net oop

我想出一个Web应用程序的类来处理支付网关。该应用程序将成为使用Identity 2.0处理和管理用户的ASP.NET Web应用程序。我将有4种不同类型/角色的用户将登录该应用程序。

不同用户的示例

  1. 客户
  2. 承包商
  3. 分包
  4. 员工
  5. 其中一些用户类比其他用户具有要存储的其他数据。我想弄清楚如何处理这个问题。

    示例:客户将拥有他们使用的指定承包商。没有其他用户(分包商,承包商和员工)不会拥有此属性。

    我很想知道我是否可以使用开箱即用的身份rolemanager来处理这些不同的角色,或者我是否应该使用默认的appliationsuser类中的继承来制作4个不同的对象。

1 个答案:

答案 0 :(得分:3)

因为你正在使用ASP.NET Identity,所以我会做这样的事情:

  • IdentityRole表格中插入以下角色名称:CustomersContractorsSubContractorsEmployees。或仅适用于那些将使用您的应用程序的人。
  • 创建新课程:CustomerContractorSubContractorEmployee。这些类应该来自IdentityUser class。
  • 应将每个特定属性定义到关联的派生类中。因此,因为客户将使用他们使用的指定Contractor,所以您在Contractor类中创建了Customer类型的属性。
  • 这里唯一要注意的是当您创建一个派生自User的实例时,请确保为其添加正确的角色。