rest - 使用 AuthorizeAttribute 进行 ASP.NET Web API 授权

标签 rest asp.net-web-api

使用新的 ASP.NET Web API 测试版。我似乎无法让建议的用户身份验证方法发挥作用。建议的方法似乎是将 [Authorize] 过滤器添加到 API Controller 。例如:

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

但这并没有按预期工作。请求资源时,您会被重定向到登录表单。这不太适合 RESTful webapi。

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

最佳答案

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

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

相关文章:

c# - 为什么要处理 ASP.NET Web Api Dependency Resolver?

javascript - 将 [object HTMLCollection] 转换为 javascript 中的字符串

ios - Alamofire post 请求返回 "<?xml version="1. 0"encoding="utf- 8"?>"

django - 使用 Neo4J 和 Django 创建 REST API

RESTful 网络请求和用户事件跟踪网站

c# - MediaTypeFormatter 序列化 web api 中的枚举字符串值

c# - 如何将 HttpRequestMessage 转发到另一台服务器

c# - 如何使用 jquery 和 Web API 上传文件

rest - 由于暴力攻击而被锁定的用户的正确http状态是什么?

java - Android:将视频作为 POST 请求上传到 Java 后端?