我需要启用我的管理员用户即时更改用户的访问权限,以便他们可以创建新角色并为这些角色添加权限.
我希望能够创建一个Authorize
属性,以便在我的控制器类之上,我可以从数据库添加角色,这样我就不必在开发过程中"设置"角色,如[Authorize(Roles="Role1, Role2")]
等.
所以像 [Authorize(Roles = GetListOfRoles()]
我发现了这个问题 - ASP.NET MVC授权用户有很多角色,它做了类似的事情,但也许有一种方法可以改变它,以便从数据库中获取权限/角色列表?
我想要做的是对动作处理程序进行两级角色检查.例如,要求用户至少属于以下组中的一个:SysAdmins,Managers 和至少一个以下组:HR,Payroll,Executive.
最初的猜测是,这可能是这样做的方法,但我认为不是:
[Authorize(Role="SysAdmins,Managers")]
[Authorize(Role="HR,Payroll,Executive")]
public ActionResult SomeAction()
{
[...]
}
Run Code Online (Sandbox Code Playgroud)
我是否需要将自己的自定义属性作为角色来接受Role1和Role2或类似的东西?或者有更简单/更好的方法吗?