2

我目前在 IIS Web 服务器上设置了 kerberos 委派。

用户连接到 Web 服务器上的网站,并可以要求在 Web 应用程序中生成 SSRS 报告。Web 应用程序通过调用 SSRS Web 服务 ReportExecution2005.asmx 来生成报告,以生成报告并将报告作为 pdf 二进制数组返回,然后显示在屏幕上。

IIS 网站针对使用服务帐户的应用程序池运行。IIS 服务器和服务帐户都受委派信任。

当我在 IE 中查看该站点并请求报告时,一切正常。当我通过 Chrome 或 FireFox 发出相同的调用时,尽管成功发出了 kerberos 票证,但对 SSRS 服务器的调用失败并显示 401。

当我调用 SSRS 服务时,我尝试将调用设置为同时使用 System.Net.CredentialCaceh.DefaultCredentials 和 System.Net.CredentialCaceh.DefaultNetworkCredentials

谁能向我解释为什么当浏览器不是 IE 时 kerberos 委托会失败?

- 更新

我最初的说法是,在所有浏览器中访问该站点会导致发出 Kerberos 票证是错误的。只有当我使用 IE 访问该站点时,它才会生成一张票。Chrome / Firefox 仅解析为 NTLM。

-- 更新 2

我现在已经确定 Firefox 和 Chrome 默认不使用协商协议。为了允许对我的站点进行基于 kerberos 的身份验证,我必须使用 about:config 区域明确声明它是两个浏览器的受信任站点。

如果其他人有同样的问题,请参考http://blog.webonweboff.com/2010/12/integrated-windows-authentication-and.html

4

0 回答 0