我使用WSHttpBinding有一个IIS托管的WCF Web服务。这一切都在本地工作,但我已经重新配置我的测试客户端使用服务器,我得到了#34;安全支持提供程序接口(SSPI)协商失败。"
据我所知,我遇到了与跨域或kerberos身份验证有关的问题。
我在办公室的本地开发人员上有一个测试客户端。运行svcutil给我正确的配置(它与我的本地配置相同,除了url)
我的客户端地址是;
<endpoint address="http://services.foo.com/ACLTestService.svc/ACLTestService"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IACLTestService"
contract="IACLTestService" name="WSHttpBinding_IACLTestService">
<identity>
<servicePrincipalName value="host/wduABC" />
</identity>
</endpoint>
我没有证书所以无法使用https,我至少需要一些基本的身份验证才能尝试保护服务,所以我不愿意只使用BasicHttpBinding
在我浪费太多时间之前,如果我在服务器上创建了一个可以运行此服务的新帐户(并且可能运行应用程序池。),那么将其作为servicePrinciple从我的客户端传递,这样就足够了。或者我是否需要改变我接近这个问题的方式?