ASP.NET Web 应用程序到共享点的 Kerberos 双跃点问题

Kerberos double hop issue with ASP.NET web application to sharepoint

我需要你的帮助来解决我遇到的 Kerberos 双跃点问题...在网上阅读了很多关于该主题的帖子后,我仍然不明白我的设置出了什么问题。这是我使用的设置:

see diagram

所有服务器都受委托委托,每个人都在同一个域(没有林)并且没有使用负载平衡。每个 Web 服务器都使用 IIS 7.5,并且每个应用程序池都设置了一个域服务 account.Each 服务帐户是受信任的委托。 重要说明:这两个 Web 服务都是通过 DNS 条目(HOST 记录)访问的:

我还在 Web 服务器(服务器 1)上设置了 IIS 以使用应用程序池凭据 "useAppPoolCredentials=True" 并让内核保持打开状态。

到目前为止,我有以下 SPN 设置:

到目前为止,我已经尝试了各种 SPN 之间的许多排列,但没有成功:(

目前,我可以使用 Kerberos 连接到 Web 服务 (Server1),但随后 "NT AUTHORITY\ANONYMOUS LOGON" 被传递到 Sharepoint 服务器。

谁能帮我弄清楚什么是正确的设置?

感谢您的帮助。

我终于成功了。为此,我使用了 DelegConfig Web 应用程序(由 brian-murphy-booth 开发)available here。它确认我的设置最初不正确,并帮助我确定需要更改的内容。

这是我的最终设置 - see diagram:

  • Web 服务服务器:只有 HOTS/Server1 的 SPN + 信任 Kerberos 委派
  • Sharepoint 服务器:只有 HOST/Server2 的 SPN + 信任 Kerberos 委派
  • 服务帐户 1(用于 Web 服务应用程序池):为 HTTP/mywebservice
  • 添加了 SPN
  • 服务帐户 2(用于 Sharepoint 应用程序池):为 HTTP/sharepoint
  • 添加了 SPN

这里有几点需要注意:

  1. 如果您使用的是 DNS 条目,请根据 DNS 名称而非 IP 注册 SPN
  2. 确保您的 DNS 条目是 "HOST (A)" 类型的记录,而不是 "CNAME"
  3. 始终根据简单名称(即 HTTP/sharepoint)和 FQDN(即 HTTP/sharepoint.domain.com)注册 SPN
  4. 留出一些时间将 AD 更改复制到所有域控制器(如果适用)- 那是我的失败!!更改后我太快无法测试,但它从未奏效...更改后等待 15-20 分钟帮助我微调我的设置并准确了解问题所在
  5. 确保没有重复的 SPN!要检查,请打开命令提示符并 运行 命令 "setspn -x"。它将列出您的广告中所有重复的 SPN。

我知道有很多关于此主题的 post,但其中 none 实际上在一个图表中描述了给定配置的理想设置。所以我想我会 post 这个答案来回答我自己的问题;希望它能对解决 Kerberos 双跳问题的噩梦有所帮助。

非常感谢 brian-murphy-booth 提供的绝妙工具!看到这里,你就是我的救命恩人!