我与WCF服务上的其他开发人员一起工作
如果服务客户端引用是由其他开发人员生成的,那么在我从SVN更新并尝试运行之后,访问该服务的应用程序将失败,但异常为:
该服务未对呼叫者进行身份验证。
InnerException消息:
由于身份验证失败,无法满足安全令牌请求。
我注意到,当客户端引用在其他PC上生成时,在客户端的app.config中我有
<endpoint address="http://MyService.svc/ws"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ISqlService"
contract="OneTestModel.ISqlService" name="WSHttpBinding_ISqlService">
<identity>
<servicePrincipalName value="host/alabala" />
</identity>
</endpoint>
如果我在电脑上生成/更新客户端,我会
<identity>
<servicePrincipalName value="host/my-pc-name" />
</identity>
我可以访问该服务
服务使用wsHttpBinding
,其中web.config
我有
<bindings>
<wsHttpBinding>
<binding name="ConfigBinding">
<security mode="Message">
<transport clientCredentialType="Windows" proxyCredentialType="None" realm="" />
<message clientCredentialType="Windows" negotiateServiceCredential="true" algorithmSuite="Default" establishSecurityContext="false" />
</security>
</binding>
</wsHttpBinding>
</bindings>
该服务应该匿名运行。
我应该在服务配置中做哪些更改来忽略客户端<identity>
?
由于