Web 应用程序 - 第 4 层负载均衡器集成的 Windows 身份验证问题

Web 应用程序 - 第 4 层负载均衡器集成的 Windows 身份验证问题

大家晚上好

我们目前有一个内部开发的 Web 应用程序,该应用程序使用 Windows 身份验证托管在 IIS 上。

我们的用户使用 IEMode 中的 Edge 连接到我们的 Web 应用程序 - 目前他们不必输入任何凭据,因为 IE 使用 Windows 集成身份验证,因此浏览器会自动将用户凭据传递到 Web 应用程序并提供 SSO 体验。

我们正在测试放弃 IEMode 而仅使用 Edge,并将网站添加到 Edge“AuthServerAllowList”策略以启用集成身份验证,以便用户获得相同的 SSO 体验。

然而,我们注意到 IEMode 的行为与 MS Edge 不同。我们的 Web 应用程序位于第 4 层 TCP 负载平衡器后面,我们注意到,如果不使用 IEMode,当用户的 TCP 会话因达到会话空闲阈值而终止时,Edge 会提示用户输入其凭据,但不会将用户凭据传递给浏览器以完成 SSO - 服务器正在发送 HTTP 401 质询响应。

但是在 IEMode 中,浏览器接收 HTTP 401 并通过传递凭据自动做出响应。

浏览器和 Web 应用程序正在协商使用 NTLM 身份验证方法 - NTLM 是基于连接的,因此如果 TCP 会话终止,身份验证将被重置,这也是要求用户进行身份验证的原因,但 IEMode 似乎能够重新发送用户凭证并以 SSO 方式登录用户,然而 Edge(以及 Firefox/Chrome)却提示用户输入凭证。

有人见过这种行为吗?这是预料之中的吗?难道现代浏览器更安全,会话超时后不会重新协商?

相关内容