我使用 ASP.NET Web API 并通过参考http://stevescodingblog.co.uk/basic-authentication-with-asp-net-webapi/使用身份验证
效果很好。如果请求没有授权标头,则响应 HttpStatusCode 为“未授权”。
但是,当一些 json 数据从客户端发送的某些列不正确时,响应 HttpStatusCode 是“内部服务器错误”,尽管请求没有授权标头。
[BasicAuthentication]
public HttpResponseMessage Create(Customer customer)
{
//
}
public class Customer{
public int id{set;get;}
public string name{set;get;}
}
比如发送POST方法到/Create,Content-Type是application/json,Request Body { "id": "abc", "name": "someone" }(id is wrong:not int but string) and don '没有授权标头。响应 HttpStatusCode 是“内部服务器错误”而不是“未经授权”。
也许创建客户实例早于授权。您知道先更改授权吗?