使用新的ASP.NET Web API beta。我似乎无法获得建议的验证用户身份的方法来工作。建议的方法似乎在哪里,将[Authorize]过滤器添加到API Controller 。例如:

[Authorize]
public IEnumerable<Item> Get()
{
    return itemsService.GetItems();
}

但是,这不能按预期方式工作。请求资源时,您将被重定向到登录表单。这不是非常适合RESTful webapi。

我应该如何进行呢?在将来的版本中,它的工作方式会有所不同吗?还是我应该回到实现自己的 Action 过滤器的 Angular ?

最佳答案

仔细检查您使用的是System.Web.Http.AuthorizeAttribute而不是System.Web.Mvc.AuthorizeAttribute。这以前咬过我。我知道WebAPI团队正在尝试将所有内容组合在一起,以使MVC用户熟悉它,但是我认为有些事情是不必要的。

关于rest - 具有AuthorizeAttribute的ASP.NET Web API授权,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9531475/

10-12 00:36