我的背景不适用于网络应用程序,因此我很难轻易解释这个问题。首先,我将尝试描述设置。
客户端设置:
服务器设置:
应该发生的是,由于客户端当前不在网络上,因此在调用此页面时,它应该提示用户输入网络凭据。但是使用IE而不是提示,用户会收到“无法显示页面”错误,因为IIS管理器拒绝访问asp页面。如果从受信任的Intranet站点列表中删除公司DNS,则它会正确提示,但在下次计算机连接到网络或VPN时禁用单点登录。
我的假设是,由于IE使用IWA并且该站点被列为内部站点,因此当没有找到网络时,IE只会向尝试进行身份验证的服务器发送空值,这会被迅速发送回来。其他浏览器没有安全区域,因此当网络凭据不存在时,服务器会提示它们。
有没有办法解决这个问题,以便我们的客户可以将公司DNS保留在Intranet区域中,但是当不在网络上时仍然有服务器提示输入凭据?据我所知,任何允许在asp页面上进行匿名访问的尝试都会导致AUTH_USER返回null并再次破坏SSO。
我意识到这有点疏忽,所以我会尽力澄清你们可能有的任何问题。提前谢谢。
答案 0 :(得分:2)
IE将拒绝通过代理使用NTLM / Negotiate,除非该代理注入
Proxy-Support: Session-Based-Authentication
响应标题。
此外,在决定适当的行为时,IE会考虑区域设置。您可能需要将登录的“可信站点”设置调整为“提示输入用户名和密码。”
答案 1 :(得分:0)
问题的原因很可能是您的客户正在经历的代理。此代理可能阻止来自客户端的NTLM身份验证。这是我过去多次见过的常见问题。