我想使用内置的 ASP.NET 成员资格和角色提供程序来创建一个系统,该系统限制每个经过身份验证的用户可以查看和编辑的内容。
该软件已经具有“项目”和“组”的概念。每个项目都属于一个组。
系统的用户实际上属于同一个组。这目前没有在我的域模型中表达。
我想将两个级别的权限扩展到这些用户,查看和编辑。如果他们在一个组中,我希望他们能够查看该组中的项目。如果他们对该组具有编辑权限,我希望他们能够编辑该组的项目。
用户通常属于 1 个组,但有时可能属于多个。用户可能对多个组具有查看权限,但仅对他们可以查看的 1 个(或部分)组具有编辑权限。
我不知道如何解决这个问题。我是否应该为每个组(即 Group1View、Group1Edit 等)简单地创建 2 个角色(使用 asp.net 角色提供程序)?或者我应该创建另一个表来创建 aspnet_Users 表和 Groups 表之间的关系,第三列标识它们的权限级别?
最终,我想实现类似于史蒂夫史密斯在这里博客的内容的特权检查:http: //stevesmithblog.com/blog/favor-privileges-over-role-checks/
感谢您提供的任何意见!