Lim*_*mey 5 iis reporting-services ssrs-2008-r2
因此,我们有一个小应用程序,它指向 2008 SSRS 服务器上的报告。
该应用程序正常工作正常,但由于我们向服务器添加了更多网站,因此我们已将 Web 应用程序绑定更改为不是服务器名称的名称。
这导致我们得到以下结果:
目标主体名称不正确 说明:当前 Web 请求执行期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。
异常详细信息:System.ComponentModel.Win32Exception:目标主体名称不正确
来源错误:
执行当前 Web 请求期间生成未处理的异常。有关异常来源和位置的信息可以使用下面的异常堆栈跟踪来识别。
堆栈跟踪:
[Win32Exception(0x80004005):目标主体名称不正确] System.Net.NTAuthentication.GetOutgoingBlob(Byte []传入Blob,布尔值 throwOnError,SecurityStatus&statusCode)+2622099
System.Net.NTAuthentication.GetOutgoingBlob(字符串传入Blob)+99
System.Net .NegotiateClient.DoAuthenticate(字符串质询,WebRequest webRequest,ICredentials凭据,布尔预身份验证)+767
System.Net.NegotiateClient.Authenticate(字符串质询,WebRequest webRequest,ICredentials凭据)+18
System.Net.AuthenticationManager.Authenticate(字符串质询,WebRequest请求,ICredentials凭据)+146
System.Net.AuthenticationState.AttemptAuthenticate(HttpWebRequest httpWebRequest,ICredentials authInfo)+2279623
System.Net.HttpWebRequest.CheckResubmitForAuth()+3031261
System.Net.HttpWebRequest.CheckResubmit(异常&e)+169[WebException:远程服务器返回错误:(401) 未经授权。]
我们将新绑定名称的 spn 添加到 SSRS 服务器以获取运行应用程序的 ID,但什么也没有。
我看到很多遇到 SSPI 问题的人都这样做,但没有出现 401 错误。
我们使用的 ID 可以完全访问这两个盒子,并且您可以毫无问题地直接从 Web 服务器访问 SSRS。只有当它包装在应用程序中时我们才会收到错误。
以前有人遇到过这个问题吗?
谢谢
所以我确实找到了答案,这是一个双跳身份验证问题。
您可以在那里找到更好的描述,但基本上该站点会尝试进行两次身份验证(一次到 Web 服务器,一次到 SQL 服务器),但是 Windows 只会传递您的登录名和密码一次。之后,它只传递 ID。
解决方案是您需要让应用程序的应用程序池使用启用 Kerberos 的 ID,就像使用负载平衡时需要的那样。
归档时间: |
|
查看次数: |
14732 次 |
最近记录: |