在IIS 6上获取401错误

时间:2014-01-16 08:32:35

标签: asp.net authentication iis-6 http-status-code-401

我在IIS 6.0上使用Windows身份验证运行我的asp.net Web表单应用程序,并且IIS日志中有以下记录:

2014-01-15 14:51:26 W3SVC1 192.168.21.16 GET /MyApp/myPage.aspx 80 - 192.168.128.19 ... 401 1 0
2014-01-15 14:51:26 W3SVC1 192.168.21.16 GET /MyApp/myPage.aspx 80 MyDomain\UserName 192.168.128.19 ... 200 0 0

因此,没有用户名的请求(结果是401错误)之后是带有用户名的请求。 有时没有用户名的记录,并非总是如此。在其他情况下,只有用户名的记录。

拜托,谁能告诉我为什么我会收到401错误?

P.S。匿名身份验证已被禁用!

1 个答案:

答案 0 :(得分:1)

您已经了解了http auth的工作原理。

当用户首次连接到服务器时,浏览器不会发送任何凭据。原因是浏览器不知道是否需要。它也不知道发送密码的格式,更重要的是,您不希望将您的用户名密码发送给您访问过的每个服务器。

因此,IIS收到此未经过身份验证的请求,并返回401. 401并不仅仅意味着您未经过身份验证以访问此网页,还包括您应该如何进行身份验证(BASIC用户名/密码,Kerberos等等)一些方法)。

TLDR。 401是告诉浏览器如何发送用户名/密码(以及您需要进行身份验证以查看资源)。