我有一个ASP.NET应用程序需要角色和站点。如何向ASP.Net MVC中的角色添加第二维/轴?
简化的例子:
站点A:管理,编辑器,只读
站点B:管理,编辑器,只读
站点C:特权,编辑器,只读
的内置在ASP.NET角色中,动作过滤器可以处理我们需要的角色的一个维度,但它并没有考虑角色来自哪个站点。
[Authorize(Roles = "Admin, Editor")]
public ActionResult EditSiteStatus(int SiteId)
{
// do work for this site
// should only be done by Admins or Editors authorized for this site only.
}
有没有办法配置/扩展第二维/轴(站点)的角色?每个网站都需要与原始网站相同的角色。
除非获得该许可,否则站点B的“编辑器”不能编辑站点C.
(我担心这可能在主观题明朗的灰色地带结束了,但我相信在它里面的知识内核,如果你有建议,是非常有用的许多如何字更好)
你如何存储用户的网站关联? – mattytommo 2013-03-27 18:06:44
我在设计阶段,所以我打开如何存储它们。我在问这个问题,以确定我是否能够使用内置的ASP.NET角色。我可能需要构建自定义的用户+角色+站点映射表和一些自定义操作过滤器,而不是内置角色。 – 2013-03-27 18:10:27