当客户端从网络访问时,为什么集成Windows身份验证失败

时间:2010-04-01 20:27:31

标签: internet-explorer iis authentication windows-authentication iwa

我的背景不适用于网络应用程序,因此我很难轻易解释这个问题。首先,我将尝试描述设置。

客户端设置:

  • 只有影响的浏​​览器是IE 6-8(Firefox,Chrome,Opera和Safari都能正常工作)
  • 用户将尝试从连接到我们网络的公司笔记本电脑访问我们的网络应用程序。
  • 此计算机将成为我们工作组的成员,并将公司DNS列为可信内部网站点。 (有关申请将成为其成员)
  • 安全登录模式仅设置为仅在Intranet区域中自动登录,并在客户端浏览器上启用IWA身份验证。

服务器设置:

  • Windows Server 2003 fp2
  • 应用程序将首先重定向到授权asp页面,该页面已禁用匿名访问并在IIS中启用了IWA。

应该发生的是,由于客户端当前不在网络上,因此在调用此页面时,它应该提示用户输入网络凭据。但是使用IE而不是提示,用户会收到“无法显示页面”错误,因为IIS管理器拒绝访问asp页面。如果从受信任的Intranet站点列表中删除公司DNS,则它会正确提示,但在下次计算机连接到网络或VPN时禁用单点登录。

我的假设是,由于IE使用IWA并且该站点被列为内部站点,因此当没有找到网络时,IE只会向尝试进行身份验证的服务器发送空值,这会被迅速发送回来。其他浏览器没有安全区域,因此当网络凭据不存在时,服务器会提示它们。

有没有办法解决这个问题,以便我们的客户可以将公司DNS保留在Intranet区域中,但是当不在网络上时仍然有服务器提示输入凭据?据我所知,任何允许在asp页面上进行匿名访问的尝试都会导致AUTH_USER返回null并再次破坏SSO。

我意识到这有点疏忽,所以我会尽力澄清你们可能有的任何问题。提前谢谢。

2 个答案:

答案 0 :(得分:2)

IE将拒绝通过代理使用NTLM / Negotiate,除非该代理注入

Proxy-Support: Session-Based-Authentication

响应标题。

此外,在决定适当的行为时,IE会考虑区域设置。您可能需要将登录的“可信站点”设置调整为“提示输入用户名和密码。”

答案 1 :(得分:0)

问题的原因很可能是您的客户正在经历的代理。此代理可能阻止来自客户端的NTLM身份验证。这是我过去多次见过的常见问题。