3

我正在使用 WCF NamedPipesService 在两个进程之间进行 IPC。保护 WCF 服务以便只有我的进程可以访问它们的最简单方法是什么?

我尝试查看 WCF 文档,但它看起来都非常复杂,并且似乎主要关注验证用户而不是客户端进程。

4

1 回答 1

2

想不出任何开箱即用的命名管道绑定。但是,总有一种解决方法。

自定义标题

您可以轻松实现IClientMessageInspector接口,以在每次服务调用时发送一些自定义身份验证信息(例如进程关键字或登录名和密码)。然后实现IDispatchMessageInspector以验证服务端的标头。在这里您可以找到有关WCF 中消息检查器的更多信息。

Windows 身份验证
只需使用除您的应用程序外没有人可以使用的 windows 帐户并像这样配置 Windows 身份验证

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

我个人更喜欢带有自定义标头的选项,但是您真的需要对您的流程进行身份验证吗?没有人可以从公共访问您的服务。您认为您的组织中是否有人可以攻击您的服务?我的意思是,在您的情况下,这可能不是真正的正确绑定。

于 2013-06-14T12:43:37.287 回答