67

哪个授权属性?
System.Web.Http.Authorize
System.Web.Mvc.Authorize

using System.Web.Mvc      // or
using System.Web.Http  

典型控制器

    [Authorize]
    public class SomeController : Controller

我们有带注释的控制器[Authorize] 我刚刚注意到,由于使用命名空间,注释在技术上指的是不同的属性类。

该项目包含 MVC 控制器和 WEBAPI 控制器。

我应该使用哪一个,为什么?如果我不解决这个问题,我们可能会遇到什么问题?

4

1 回答 1

88

您必须System.Web.Http.Authorize针对ApiController(Web API 控制器)和System.Web.Mvc.AuthorizeControllerMVC 控制器)使用。由于框架将过滤器作为管道处理的一部分运行,并且控制器希望应用正确的过滤器,因此如果您不使用相应的过滤器,授权将不起作用。

于 2013-10-03T10:13:47.660 回答