Here是一篇关于某些扩展HTTP代码的文章:
IIS 7.0,IIS 7.5和IIS 8.0定义了几个HTTP状态代码 表示401错误的更具体原因。具体如下 HTTP状态代码显示在客户端浏览器中,但不是 显示在IIS日志中:
- 401.1 - 登录失败。
- 401.2 - 由于服务器配置登录失败。
- 401.3 - 由于资源上的ACL而未经授权。
- 401.4 - 过滤器授权失败。
- 401.5 - ISAPI / CGI应用程序授权失败。
我需要一些自定义扩展HTTP代码,如下所示:
- 401.10 - 找不到用户
- 401.11 - 用户密码不匹配
- 401.12 - 用户帐户已锁定
- 401.13 - 用户帐户已过期
- ...
如何从.NET MVC应用程序返回这些扩展的401错误代码?
答案 0 :(得分:25)
在您的操作方法中,您可以手动设置状态代码:
Response.StatusCode = 401;
Response.SubStatusCode = 10;
此外,您可以在System.Net中使用HttpStatusCode枚举:
Response.StatusCode = (int)HttpStatusCode.Unauthorized;
答案 1 :(得分:10)
如何从.NET MVC应用程序返回这些扩展的401错误代码?
由于HTTP不支持子状态代码,因此用户将收到它们时,您无法从应用程序返回它们。
它们仅用于IIS日志记录和跟踪,仅返回“主要”状态代码。
答案 2 :(得分:5)
使用Response.StatusCode
和Response.SubStatusCode