c# - 如何使用角色和 OOP 继承管理 ASP.NET 身份用户

标签 c# asp.net oop

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

不同用户的例子

  1. 客户
  2. 承包商
  3. 分包商
  4. 员工

其中一些用户类比其他用户有更多的数据要存储。我想弄清楚如何处理这个问题。

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

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

最佳答案

因为您使用的是 ASP.NET Identity,所以我将执行如下操作:

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

关于c# - 如何使用角色和 OOP 继承管理 ASP.NET 身份用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45394937/

相关文章:

c# - 在运行时搜索对象中的值 [QuickWatch 增强]

谷歌浏览器中 HTTPS 链接上的 CSS 应用不正确

c# - 当我从下拉列表中选择项目时出现下拉选择错误

ruby - 我(认为)当我希望我的数组只有 2 个可用属性时,我正在返回对象

c++ - 如何在类之间共享昂贵的计算?

参数数量可变的 Java "Virtual"方法

c# - 托管托管代码和垃圾回收

c# - 奇怪的 Convert.ToDateTime 行为

c# - SQL Server 存储过程结果返回

javascript - 在光标位置的文本区域中插入一个字符串并进行一些更改