【发布时间】:2015-06-19 18:07:57
【问题描述】:
也许我误解了 ASP.NET 身份和数据库模型中角色的概念,但我正在努力思考如何实现以下场景:使用 ASP.NET 身份,用户似乎拥有基于角色的全局权限,而不是更细粒度级别的权限。我正在尝试使用 Code-First 在 EF6 中实现数据库架构,其中用户可以是多个组的成员。但是,我希望用户在一个组中拥有一个角色,而在另一个组中拥有不同的角色,而不是拥有一个全局角色。
例如,用户可以创建群组,因此是群组管理员,但也可以是群组中的教师,因此能够贡献内容。同一用户也可能是不同组中的学生,因此在该组中具有不同的权限。用户可以在给定组中执行多个角色,他们的权限应基于他们在该组中的角色。
据我所知,这不是 ASP.NET 标识的预期结构,因为我看不到如何将特定角色的范围限制为组。另外,理想情况下,我希望能够将用户分配给一个组,然后将一组用户分配给另一个组,例如,我有一个用户组,我将该组分配给另一个组中的特定角色.
我想到的是一个成员表,它有 UserId、GroupId 和 RoleId 来处理将角色映射到特定组,但是我将如何扩展它以使角色继承自组,并且我能够利用 ASP .NET Identity 来帮助我管理这些角色,还是我必须从头开始编写自己的解决方案?
【问题讨论】:
标签: entity-framework-6 asp.net-identity database-schema code-first