我的 IIS7 网站中有一个子目录,我想用基本身份验证将其锁定。我进入 IIS 管理器,选择身份验证指定目录,启用基本身份验证并禁用所有其他类型。当我从服务器浏览目录时,我得到了用户名/密码提示。但是,当我在远程计算机上使用浏览器时,我没有得到用户名/密码提示。
我已经使用 Fiddler 查看 HTTP 流量,并且 WWW-Authenticates 标头没有发送到远程浏览器。
我搜索了一遍又一遍的配置,但找不到导致此问题的任何设置。是什么阻止了提示出现?
我们尝试关闭该服务器上的所有其他网站,以确保访问正确的网站。查看 HTTP 日志后,我可以看到我们的请求进来了:它导致我们的应用程序出现 500 错误(因为用户未登录)。这让我相信 Web 服务器没有正确地挑战浏览器,因为我们的应用程序代码正在执行。
答案1
您的意思是它在没有提示的情况下就可以工作(即它不要求进行身份验证),还是它会失败并引发某种错误?
值得测试的一件事是我所说的“失败测试”。短暂停止网站并确认它是否中断(响应不同)。这确保正确的网站正在处理请求,并且它不是服务器上的另一个网站。您可以通过将 test.aspx 页面添加到您尝试锁定的文件夹上方的文件夹中来执行相同操作。确保它加载了您期望的页面。