自托管WCF服务和环回检查

时间:2014-02-27 16:56:39

标签: wcf security

服务器位于工作组(不是域)。自托管WCF服务配置了Windows安全性。绑定是netTcpBinding。

<security mode="Transport">
    <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
</security>

WCF客户端在同一台服务器上运行。

服务器证书用于加密流量(可能无关紧要)

我实施了一个简单的测试程序。一切正常。

但是当我在我们的产品中实现它时,客户端无法登录。在事件日志中,我看到审计失败:

Failure Information:
Failure Reason: An Error occured during Logon
Status: 0xc000006d
Sub Status: 0x0

通过Google搜索,我找到了此页面的解决方法:http://support.microsoft.com/kb/896861

在注册表中禁用环回检查后,登录成功。

但我不想在生产环境中禁用环回检查安全性。我需要找出这个问题的原因。

我的问题是:为什么我的测试程序工作正常,但是暴露多个端点的产品遇到了环回检查安全问题?是否有一些WCF组件/配置会导致此问题?


更多信息:为了测试,我针对我的产品创建了一个简单的wcf客户端。成功验证测试客户端调用并启用环回检查。在我看来,问题出在wcf客户端......有什么想法吗?

1 个答案:

答案 0 :(得分:0)

发现我的问题:我使用了CN =“WCF Security”的自签名证书。服务器和客户端上的端点都具有“身份”,定义为:

<identity>
    <dns value="WCF Security" />
</identity>

更改为

<dns value="localhost" />

甚至完全删除“身份”,现在登录成功而不禁用环回检查安全性。

我不完全理解端点身份和证书CN之间的关系。

相关问题