我使用ASP.Net MVC
进行网页开发。目前,我的网站用户在访问控制器的操作时会根据他们的角色获得授权。
每个用户都可以定义子用户或代理,并允许他们访问他/她已有权访问的操作子集。例如,用户A
可以访问操作{a, b, c}
。现在,他想定义代理B
和C
,并授予他们分别访问操作{a}
和{b, c}
。
考虑到在开发过程中动作名称可能会发生变化,我该如何实现?
答案 0 :(得分:0)
您需要为他们提供访问操作的角色。
例如,你有角色a,b,c,你有行动一,二,三。
使用“授权”属性来装饰操作只允许其访问角色a。对于下面的其他操作也一样
[Authorize(Roles = "a")]
public ActionResult One()
{
return View();
}
[Authorize(Roles = "b")]
public ActionResult Two()
{
return View();
}
[Authorize(Roles = "c")]
public ActionResult Three()
{
return View();
}
这意味着您的用户A具有角色(a,b,c)。创建用户B和C. 授予用户B角色a,授予用户C角色b和c。
只要角色保持不变,每当您更改动作名称时。用户仍然可以访问它。