为什么 IE 的集成 Windows 身份验证需要三轮消息交换

为什么 IE 的集成 Windows 身份验证需要三轮消息交换

根据fiddler监控的结果,IE集成windows身份验证一共进行了3次握手。

回家

-

401 未授权

WWW 身份验证:协商,NTLM


回家

授权:协商UYTYGHGYKHKJPPP-===

-

401 未授权

WWW-身份验证:协商UYUGKJKJKJ+++766==


回家

授权:协商HJGKJLJLJ+++===

-

200 正常

WWW-身份验证:协商UHLKJKJKJJLK===


谁知道这三个,特别是第二个,具体做了什么。

PS 网络环境是工作组模式,不是域模式,服务器是托管在我本地PC上的网站。换句话说,客户端(IE)和服务器都在同一台机器上。

答案1

这就是基于 SPNEGO 的 Kerberos 和 NTLM HTTP 身份验证有效。这基本上是通过 HTTP 隧道传输简单和受保护协商 (SPNEGO) 和通用安全服务应用程序接口 (GSSAPI) 协议。

客户端尝试访问资源并收到带有WWW-Authenticate: Negotiate, NTLM标头的 401。客户端识别出 Negotiate 身份验证协议可用,并尝试再次请求资源,在Authorization标头中提供 GSSAPI SPNEGO 协商消息。服务器将响应另一个 401 和另一个“WWW-Authenticate”标头。此过程将持续,直到 SPNEGO 协商完成。

相关内容