【发布时间】:2011-02-03 12:59:37
【问题描述】:
客户端设置:
- 仅受影响的浏览器是 IE 6-8(Firefox、Chrome、Opera 和 Safari 都可以正常工作)
- 用户将尝试从未连接到我们网络的公司笔记本电脑访问我们的网络应用程序。
- 这台机器将成为我们工作组的成员,并将公司 DNS 列为受信任的 Intranet 站点。 (相关应用程序将成为其成员)
- 安全登录模式设置为仅在 Intranet 区域自动登录,并在客户端浏览器上启用 IWA 身份验证。
服务器设置:
- Windows Server 2003 fp2
- 应用程序将首先重定向到在 IIS 中禁用匿名访问并启用 IWA 的授权 asp 页面。
应该发生的是,由于客户端当前不在网络上,当调用此页面时,它应该提示用户输入网络凭据。但在 IE 中,用户收到“无法显示页面”错误,而不是提示,因为 IIS 管理器拒绝访问 asp 页面。如果公司 DNS 从受信任的 Intranet 站点列表中删除,则它会正确提示,但会在下次该计算机连接到网络或 VPN 时禁用单点登录。
我的假设是,由于 IE 使用 IWA 并且该站点被列为内部站点,因此当没有找到网络时,IE 只会将空值发送到尝试进行身份验证的服务器,该值会被迅速退回。其他浏览器没有安全区域,因此当网络凭据不存在时,服务器会提示它们。
有没有办法解决这个问题,以便我们的客户可以将公司 DNS 保留在 Intranet 区域中,但在不在网络上时仍然有服务器提示输入凭据?据我所知,任何允许在 asp 页面上进行匿名访问的尝试都会导致 AUTH_USER 返回 null 并再次破坏 SSO。
【问题讨论】:
标签: authentication internet-explorer iis windows-authentication