考虑包含课程和教师的众所周知的示例数据模型。一门课程有一个教练有很多课程。假设现在我们希望将此模型基于具有用户和角色的ASP.NET Identity模型。一种直接的方法是让教师继承ASP.NET Identity用户。但是,假设我们希望学校的看门人也是该系统的用户。此外,没有什么能阻止教练在下午成为看门人。
没有多重继承,所以你不能说是一个InstructorUser和一个JanitorUser。如果用户的角色是教师的角色,那么用户只有课程,因此IMO不是让每个用户都与课程有关系的干净方法(毕竟他可能不是教练)。我正在考虑为每个用户创建一个单独的InstructorRole
实例(继承自IdentityRole
),如果他是教师的话。
我看到简单示例的通用角色数量很少,例如“admin”或“guest”。每个用户至少有一个单独的角色是不好的做法吗?
答案 0 :(得分:1)
这些角色的问题是你要用它们做什么的?
如果您的角色是限制对控制器的访问,那么如何为(可能的)无限数量的用户/角色定义控制器的权限?
我会回到你的绘图板,重新思考你的权限系统是如何工作的以及它实际需要什么。