我有一个需要角色和站点的 ASP.NET 应用程序。
简化示例:
站点 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 进行编辑,除非获得该权限。
(我担心这可能最终会陷入主观问题边缘的灰色地带,但我相信如果你对如何更好地用词提出建议,其中有一个对许多人有用的知识核心)