首页 文章

在IIS 6上获取401错误

提问于
浏览
0

我在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错误?

附:匿名身份验证被禁用!

1 回答

  • 1

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

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

    所以IIS收到这个未经过身份验证的请求,然后发回401. 401不仅仅意味着您没有通过身份验证来访问此网页,它还包括您应该如何进行身份验证(BASIC用户名/密码,Kerberos等等,以便列举一些方法) ) .

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

相关问题