2014-11-25 45 views
3

我正在研究包含MVC和WEB API的ASP.NET Web應用程序。任何人都可以給我一個如何在Web API中使用ApiController.Unauthorized方法的例子。我不確定我應該將哪種參數傳遞給此方法。WEB API 2.2:ApiController未經授權的方法

+0

你想實現身份驗證? – Sandeep 2014-11-25 11:19:38

+0

嗨Sandeep。是的,我確實想實現身份驗證,但不想編寫自定義身份驗證篩選器。 – Dean 2014-11-26 22:03:17

+0

您可以創建用於身份驗證的消息處理程序。 http://www.c-sharpcorner.com/UploadFile/dacca2/basic-authentication-in-web-api-based-on-user-role/ – Sandeep 2014-11-27 05:28:35

回答

3

如果您的控制器操作方法返回IHttpActionResult那麼您可以使用此方法作爲返回類型。

return Unauthorized(); 

還可以傳遞AuthenticationHeaderValue作爲此方法表示在授權ProxyAuthorization,WWW-Authneticate,和Proxy-Authenticate頭值的認證信息的參數。

如果您的操作方法沒有返回IHttpActionResult,那麼您可以將HttpResponseException丟在控制器操作的任何地方。

throw new HttpResponseException(HttpStatusCode.Unauthorized); 

如果你想通過自定義消息,然後使用

var msg = new HttpResponseMessage(HttpStatusCode.Unauthorized) 
{ 
    ReasonPhrase = "Your message!" 
}; 
throw new HttpResponseException(msg);