WEB API 2.2:ApiController未经授权的方法

时间:2014-11-25 10:55:04

标签: asp.net asp.net-web-api2

我正在使用包含MVC和WEB API的ASP.NET Web应用程序。谁能给我一个如何在Web API中使用ApiController.Unauthorized方法的例子。我不确定我应该在这个方法中传递什么样的参数。

1 个答案:

答案 0 :(得分: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);