我在同一台机器上的IIS上托管了2个wcf服务。
服务A由客户端调用,并使用BasicHttpBinding
和传输安全性NTLM credentialtype
。
服务A需要调用服务B,服务B也托管在IIS上,但使用带有传输安全性WsHttpBinding
的{{1}}。
IIS配置为使用集成的Windows身份验证。
我第一次尝试 403禁止消息:
NTLM credentialtype
这是正常的,因为当我从服务A拨打服务B到服务B时,会使用应用程序池的标识。
在我的第二次尝试中,我尝试模拟对服务B的调用,但问题是操作中的所有代码都在调用者帐户下执行。此帐户在服务器上没有ACL权限,并且不提供这些权限。 记录以下错误:
System.ServiceModel.Security.MessageSecurityException : The HTTP request was forbidden with client authentication scheme 'Ntlm'.
System.Net.WebException: The remote server returned an error: (403) Forbidden.
如何在不改变ACL或应用程序池标识的安全性的情况下解决这个问题?