我可以用不同的角色覆盖asp.net核心的授权吗


[Authorize(Roles = "Admin")] // only admin
public class XController : Controller 
{
[Authorize(Roles = "Employee")] // only employee
public ActionResult ActionX() { ... }
}

只有管理员可以访问控制器,只有员工可以访问该方法,我知道这种结构不是最好的例子,但我只是想知道这是否可能!:(

你绝对可以-但为了你自己(和其他开发人员(的理智,我会将Employee角色切换到Controller级别(权限最小(,然后根据你的操作进行更严格的授权。

直接来自MSDN文档。

您可以通过在操作级别应用额外的角色授权属性来进一步限制访问:

[Authorize(Roles = "Administrator, PowerUser")]
public class ControlPanelController : Controller
{
public ActionResult SetTime()
{
}
[Authorize(Roles = "Administrator")]
public ActionResult ShutDown()
{
}
}

最新更新