Active directory Windows域中的NTLM SSO如何工作?

Active directory Windows域中的NTLM SSO如何工作?,active-directory,single-sign-on,windows-authentication,ntlm,Active Directory,Single Sign On,Windows Authentication,Ntlm,我用打字机脚本做了单点登录的概念证明。这样,我就可以在公司广告域中获得登录的用户名,而无需输入任何帐户信息或凭据。但我想详细了解这是如何实现的,因为它可以在IE和Chrome开箱即用中工作。我发现这上面写着: 已登录用户的用户名将发送到服务器 服务器生成的随机数质询并将其发送给客户端 客户端使用用户密码哈希对质询进行加密,并将其发送回服务器 服务器向DC发送用户名、质询和质询响应 DC将PW与数据库进行比较,并验证用户是否匹配 我特别想知道第1步和第2步:这在哪里发生?例如,如何将用户名传输到服

我用打字机脚本做了单点登录的概念证明。这样,我就可以在公司广告域中获得登录的用户名,而无需输入任何帐户信息或凭据。但我想详细了解这是如何实现的,因为它可以在IE和Chrome开箱即用中工作。我发现这上面写着:

  • 已登录用户的用户名将发送到服务器
  • 服务器生成的随机数质询并将其发送给客户端
  • 客户端使用用户密码哈希对质询进行加密,并将其发送回服务器
  • 服务器向DC发送用户名、质询和质询响应
  • DC将PW与数据库进行比较,并验证用户是否匹配
  • 我特别想知道第1步和第2步:这在哪里发生?例如,如何将用户名传输到服务器?它是http请求的一部分吗?我查看了chrome开发者工具的请求,没有看到任何标题或其他信息,表明我的广告用户名已发送到服务器

    请注意:这些问题仅适用于用户未提供任何凭据的SSO!原因当用户输入其凭据时,这是清楚的

    它是http请求的一部分吗

    对。如中所述,您应该可以从服务器的响应中看到WWW Authenticate:Negotiate头,并因此看到客户端的授权头


    如果开发人员工具未显示此信息,请返回网络捕获。

    IE浏览器具有名为“启用集成Windows身份验证”的选项,在该选项中,您可以使用当前登录用户的详细信息进行身份验证。查看此链接了解更多详细信息-