我有一个控制器,例如:
namespace MyApi.Controllers
{
[Authorize(Roles = "Administrador, SuperAdmin")]
public class AccountController : Controller
{
}
[Authorize(Roles = "Administrador, SuperAdmin")]
public AccountController()
{
}
[Authorize(Roles = "Administrador, SuperAdmin")]
public AccountController(ApplicationUserManager userManager, ApplicationSignInManager signInManager)
{
}
正如您所看到的,我为每个方法添加了相同的Authorize
,并且我知道是否有任何方法可以对所有方法执行全局操作?此致
答案 0 :(得分:0)
我无法相信没有人在5个月内正确回答了这个问题。此外,这个问题有一个误导性的标题。人们会来这里寻找MVC表格验证,这是与授权不同的概念,这就是这个问题的内容。
答案非常简单,如问题评论中所示:从所有方法中删除Authorize属性,然后将其保留在类级别 - 然后它将自动应用于所有公共方法。
另外,粘贴代码时要小心,以保留所有正确的括号和缩进。
namespace MyApi.Controllers
{
[Authorize(Roles = "Administrador, SuperAdmin")]
public class AccountController : Controller
{
public AccountController()
{
}
public AccountController(ApplicationUserManager userManager, ApplicationSignInManager signInManager)
{
}
...
}
}