asp.net - 网络API 2.2 : ApiController Unauthorized Method

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

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

最佳答案

如果您的 Controller 操作方法返回 IHttpActionResult那么你可以使用这个方法作为返回类型。

return Unauthorized();

您也可以通过<a href="https://msdn.microsoft.com/en-us/library/system.net.http.headers.authenticationheadervalue(v=vs.118).aspx" rel="noreferrer noopener nofollow">AuthenticationHeaderValue</a>作为此方法的参数,它表示 Authorization、ProxyAuthorization、WWW-Authneticate 和 Proxy-Authenticate header 值中的身份验证信息。

如果您的操作方法不返回 IHttpActionResult那么你可以抛出 <a href="https://msdn.microsoft.com/en-us/library/system.web.http.httpresponseexception.aspx" rel="noreferrer noopener nofollow">HttpResponseException</a>在 Controller 操作的任何地方。

throw new HttpResponseException(HttpStatusCode.Unauthorized);

如果您想传递自定义消息,请使用

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

关于asp.net - 网络API 2.2 : ApiController Unauthorized Method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27124762/

相关文章:

c# - 如何通过 webapi2 将扁平化列表返回给 breezejs?

asp.net - 如何在 DataBound 事件上/之前捕获错误

.net - 在桌面应用程序中使用 System.Web 是否存在问题

c# - 为什么 MapHttpAttributeRoutes() 不从属性添加路由?

asp.net-web-api - 为什么在 OWIN 中使用带有 WebApi 自托管的简单注入(inject)器时会出现此 ActivationException?

sql - 在SQL Server存储过程中处理重复方案

c# - 应该多广泛地使用异步/等待模式?

asp.net - 在 ASP.NET MVC 中验证时拒绝下拉占位符

asp.net - 无法识别的属性 'controlRenderingCompatibilityVersion'

asp.net - ASP.NET错误对象未设置为引用