0

我的 Intranet 站点引用 SSRS Web 服务时遇到了经典的双跳问题。这是拓扑:

客户端 -> Web 服务器 -> SQL Server(DB 和 SSRS)

这是我到目前为止所做的:

  • 为 HTTP/webserver 创建的 SPN - NetBios 和 FQDN(AppPool 的域用户)
  • HTTP/sqlserver 的 SPN(运行 SQL 和 SSRS 的域用户)
  • MSSQLSvc/sqlserver 的 SPN(运行 SSRS 的域用户)
  • 允许在 AD 中委托 Web 服务器和应用程序池的身份
  • 允许委托客户账户
  • Web 服务器的 Web 应用程序正在模拟客户端用户并调用 SSRS Web 服务,传递 DefaultNetworkCredentials 并将 ImpersonationLevel 设置为委派

我在 SSRS 服务中收到了 401。如果我明确传递我的个人凭据,那么一切正常,所以我相信我的问题只是委托客户端凭据。

我觉得我已经阅读了 20 篇关于此的文章,并且尝试了所有方法,结果都一样。

4

1 回答 1

1

我终于修好了。我将唯一的 Windows 身份验证提供程序设置为 Negotiate:Kerberos,但如果我在取消选中内核模式之前这样做,IIS 管理器将有助于从提供程序中删除 Negotiate:Kerberos,因为它是无效的。这让我没有提供者,并且在中间网站上保证了 401。

一旦我强制使用 Kerberos,我的代表团就开始工作,SSRS Web 服务也能正常工作。

于 2013-09-18T13:47:58.760 回答