Web API请求 - 发回认证请求

时间:2012-03-13 01:13:19

标签: asp.net-mvc c#-4.0 asp.net-web-api

我正在使用新的MVC 4 Beta Web API。我想在[Authorize]操作中添加Get属性,以便用户在从服务器获取数据之前进行身份验证。我正在使用fiddler测试操作,但是它将我重定向到web.config中定义的Login Url。我使用[System.Web.Http.Authorize]添加[Authorize]属性。

2 个答案:

答案 0 :(得分:1)

发生这种情况的原因是因为表单身份验证模块劫持了Web API返回的401 HTTP状态代码并重定向到了“登录”页面。您可以查看Phil Haack讨论如何配置ASP.NET以防止它为AJAX请求执行此操作的following blog post。您可以稍微修改他的代码,以便它为所有请求执行此操作,或仅针对您的Api控制器的请求。

答案 1 :(得分:0)

为了让它在我的API中运行,我刚刚从web.config中删除了身份验证部分,并编写了一个消息处理程序(从我的WCF WebApi代码转换得很好)。我把我所做的事情放到blog post