ASP.NET 集成 Windows 身份验证在网络内使用域名失败

ASP.NET 集成 Windows 身份验证在网络内使用域名失败

我在 IIS 6/Windows 2003 上运行的 ASP.NET 应用程序遇到了问题,最近我将其部署到新服务器上,该服务器也运行 IIS 6 和 Windows 2003。

它使用集成 Windows 身份验证,在以下情况下有效(或默认返回到基本身份验证):

  • 场外/网络外部,使用完全限定域名,例如 www.school.com/intranet/
  • 现场/网络中,使用服务器的名称,例如 web-machine/intranet/

但是,在网络内部使用 www.school.com/intranet/ 时,无论是否在连接域的计算机上,身份验证都会立即失败,并显示:

错误消息 401.2.:未经授权:由于服务器配置导致登录失败。根据您提供的凭据和 Web 服务器上启用的身份验证方法,验证您是否有权查看此目录或页面。请联系 Web 服务器的管理员以获取更多帮助。

它不会默认返回基本身份验证,并且服务器上的事件查看器中没有任何消息。

在IIS 6.0中,虚拟目录的目录安全性设置为允许匿名访问(某些页面不需要身份验证),并且集成Windows身份验证。

由于它所在的服务器死机了,我无法访问它的配置,因此我无法说出我遗漏了什么。它以前在 ASP.NET 版本 1.1.4322 下运行,但现在在 2.0.50727 下运行,但我认为这没什么关系。

由于一切正常,但仅取决于所使用的 URL,所以我不确定问题是什么。

答案1

默认情况下,集成 Windows 身份验证仅用于 Internet Explorer 中的“本地 Intranet”区域。因此,如果 IE 无法将 www.school.com 识别为本地 Intranet 的一部分,则集成身份验证将不起作用。

答案2

这不是真正的答案,但是 FQDN(www.school.com)是否获取了正确的 IP 地址,对吗?我会调整服务器上的本地策略以打开一些审计日志记录选项,看看是否能提供任何提示...

相关内容