关于设置 asp.net 成员资格、角色提供者等有很多问题(和信息)。不管你是应该使用微软提供的内置平台,还是角色扩展你自己的基类和角色。
我决定扩展默认提供者并实现我自己的成员资格和角色提供者。现在我的问题是专门针对角色身份验证的。
传统上,您会创建角色,例如“经理、管理员、员工、超级用户”或任何您拥有的角色。但是对于我认为是更精细控制的权限,您会/应该做什么?让我详细说明....
在我的 asp.net mvc 站点中,我有不同的区域,如管理、管理、消息传递、报告等。我会为每个角色创建角色,如“管理员”、“经理”、“报告者”等。没有适当的角色,你可以'无法访问该站点的该区域。所以我会在课堂上用这个来锁定整个控制器。
但现在以一个地区为例;消息传递,并说我想为 CRUD 获得更细粒度的权限;创建消息、查看/阅读消息、编辑消息、删除消息等。
最后是我的问题。如何最好地实施这种更精细的控制?我看到的一种方法(不确定它是否好用)是为所有内容创建 asp.net 成员角色。所以我可能有....
Messenger(广义角色)、CreateMessage、ReadMessage、EditMessage、DeleteMessage。
一方面,我希望一些用户能够阅读/查看消息。但不一定创建或删除它们。单个控制器操作可以应用特定的角色。
你觉得这种方法有什么问题吗?你有更好的主意吗?
到目前为止的解决方案
我决定创建自己的模式并实现自定义成员资格和角色提供程序。我的架构包括;
- 用户
- 用户资料
- 允许
- 权限分配
- 角色
- 角色分配
接下来一两天会离开,但如果有机会,我会更新更多信息。