使用全局验证代替方法

时间:2016-11-25 17:44:57

标签: asp.net-mvc

我有一个控制器,例如:

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,并且我知道是否有任何方法可以对所有方法执行全局操作?此致

1 个答案:

答案 0 :(得分:0)

我无法相信没有人在5个月内正确回答了这个问题。此外,这个问题有一个误导性的标题。人们会来这里寻找MVC表格验证,这是与授权不同的概念,这就是这个问题的内容。

答案非常简单,如问题评论中所示:从所有方法中删除Authorize属性,然后将其保留在类级别 - 然后它将自动应用于所有公共方法。

另外,粘贴代码时要小心,以保留所有正确的括号和缩进。

namespace MyApi.Controllers
{
   [Authorize(Roles = "Administrador, SuperAdmin")]
   public class AccountController : Controller
   {
       public AccountController()
       {
       }

       public AccountController(ApplicationUserManager userManager, ApplicationSignInManager signInManager)
       {
       }

       ...
   }
}