【发布时间】:2011-06-22 15:19:19
【问题描述】:
调用网络服务时出现以下错误:
HTTP 请求未经客户端身份验证方案“NTLM”授权。从服务器收到的身份验证标头是“NTLM”。 HTTP 请求未经客户端身份验证方案“NTLM”授权。从服务器收到的身份验证标头是“NTLM”。
我的 IIS (7) 上有一个调用 WCF Web 服务的 Silverlight 4 应用程序。 我的 WCF Web 服务使用 NTLM(Windows 身份验证)调用另一个安装在不同 Web 服务器上的 ASMX Web 服务。 我的服务器和托管 ASMX Web 服务的服务器都在同一个域中。
当 Silverlight 客户端使用 http://localhost/MySiteName 从服务器打开应用程序时,一切正常。但是,当 Silverlight 客户端使用 http://MyServerName/MySiteName 从不同的客户端(不是服务器但仍在同一个域中)打开应用程序时,我会收到错误消息。
在我的 IIS 中启用了 Windows 身份验证。 我的 IIS 中禁用了匿名身份验证。
调用我的 WCF Web 服务的绑定配置是:
<binding name="winAuthBasicHttpBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" />
</security>
</binding>
调用ASMX web服务的绑定配置为:
<binding name="ClNtlmBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm" />
</security>
</binding>
【问题讨论】:
-
调用我的 WCF web 服务的绑定配置是:
调用 ASMX Web 服务的绑定配置为:
标签: c# .net windows silverlight wcf