为每个用户分别设置一个角色是不好的做法吗?

时间:2015-01-12 09:54:37

标签: asp.net-identity asp.net-identity-2

考虑包含课程和教师的众所周知的示例数据模型。一门课程有一个教练有很多课程。假设现在我们希望将此模型基于具有用户和角色的ASP.NET Identity模型。一种直接的方法是让教师继承ASP.NET Identity用户。但是,假设我们希望学校的看门人也是该系统的用户。此外,没有什么能阻止教练在下午成为看门人。

没有多重继承,所以你不能说是一个InstructorUser和一个JanitorUser。如果用户的角色是教师的角色,那么用户只有课程,因此IMO不是让每个用户都与课程有关系的干净方法(毕竟他可能不是教练)。我正在考虑为每个用户创建一个单独的InstructorRole实例(继承自IdentityRole),如果他是教师的话。

我看到简单示例的通用角色数量很少,例如“admin”或“guest”。每个用户至少有一个单独的角色是不好的做法吗?

1 个答案:

答案 0 :(得分:1)

这些角色的问题是你要用它们做什么的?

如果您的角色是限制对控制器的访问,那么如何为(可能的)无限数量的用户/角色定义控制器的权限?

我会回到你的绘图板,重新思考你的权限系统是如何工作的以及它实际需要什么。