1

为 n00b 问题道歉,但我发现关于这个问题的信息零星。我一直在使用 MVC Web API 制作 API,并且一直在使用表单身份验证,如此处选择的答案所述: ASP.Net MVC 4 WebAPI Authentication

正如预期的那样,auth cookie 在登录时在响应标头中发送。但是,当我在此之后尝试使用 [Authorize] 修饰的方法时,请求确实似乎在标头中包含了 auth cookie,但我每次都得到一个 HTTP 401。

我读过的资料表明它应该非常简单,所以我实际上不确定如何调试这个。如何确保 auth 方法确实有效?

4

2 回答 2

4

I had the same problem. I eventually realised I had forgotten to enable Forms Authentication in the Web.Config file. Changing the mode from "None" to "Forms" fixed the problem:

<system.web>
    <authentication mode="Forms" />
</system.web>
于 2012-12-07T10:00:47.037 回答
0

所以最后,我忽略了表单身份验证,转而使用 HTTP 基本身份验证。

这有几个原因 - 客户端(通过安全网络通过 SSL 连接)更容易实现它。对于像我这样刚接触 Web API 和 MVC4 的人来说,它也有更好的文档记录。

可以在这里找到一个很好的教程:
http ://www.piotrwalat.net/basic-http-authentication-in-asp-net-web-api-using-message-handlers/

于 2012-11-27T12:55:31.597 回答