如果要实现自己的AuthorizeAttribute,并且覆盖HandleUnauthorizedRequest,则将HttpActionContext.Response设置为HttpResponseMessage。
HttpResponseMessage构造函数将HttpStatusCode枚举的实例作为参数。
此枚举包含常见的顶级HTTP代码的值:
有一个HttpStatusCode.Forbidden = 403的值。但是没有403.7的值-需要客户端证书。或者,对于其他任何子代码。
如何返回子代码错误?
答案 0 :(得分:0)
有一个原因,您无法设置HttpActionContext。响应子代码错误。
响应中未返回子代码。 HTTP协议不支持它们。
服务器上的代码可以返回子代码错误,服务器上的代码可以使用子代码进行日志记录,错误处理等。返回404.7可能返回与404.6不同的页面。
但是,无论如何,发送给客户端的代码都是纯404。