簡體   English   中英

ASP.NET Web API身份驗證和驗證

[英]ASP.NET Web API Authentication and Validation

我使用ASP.NET Web API,並通過參考http://stevescodingblog.co.uk/basic-authentication-with-asp-net-webapi/使用身份驗證

效果很好。如果沒有Authorization標頭的請求,則響應HttpStatusCode為“ Unauthorized”。

但是,當從客戶端發送一些列不正確的json數據時,盡管請求沒有Authorization標頭,但響應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,然后請求正文{“ id”:“ abc”,“ name”:“ someone”}(id錯誤:不是int而是字符串),並且don沒有授權標頭。 響應HttpStatusCode是“內部服務器錯誤”,而不是“未經授權”。

也許創建客戶實例早於授權。 您知道先更改授權嗎?

如果您已將BasicAuthenthication屬性創建為ActionFilterAttribute,則可以嘗試將其更改為AuthorizationFilterAttribute。 然后,OnActionExecuting將更改為OnAuthorization。 我認為其余大部分應該都差不多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM