.net - 保护 NamedPipes WCF 服务的最简单方法?

标签 .net wcf authorization named-pipes

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

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

最佳答案

无法想到任何现成的命名管道绑定(bind)。不过,总有一个解决方法。

自定义 header

您可以轻松实现IClientMessageInspector接口(interface),以便在每次服务调用时发送一些自定义身份验证信息(例如处理关键字或登录名和密码)。然后实现 IDispatchMessageInspector 来验证服务端的 header 。在这里您可以找到有关 message inspectors in WCF 的更多信息.

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

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

我个人更喜欢带有自定义 header 的选项,但是您真的需要对流程进行身份验证吗?没有人可以从公共(public)场所访问您的服务。您认为您的组织内有人可以攻击您的服务吗?我的意思是,对于您的情况来说,这可能并不是真正正确的绑定(bind)。

关于.net - 保护 NamedPipes WCF 服务的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17103069/

相关文章:

.net - NHibernate 反射优化器 - 它有什么作用?

c# - 无法在异步等待上复制死锁

asp.net-core - 在 Google OAuth 流程中访问 EF DbContext

vb.net - WCF 和返回的对象名称

Firebase 3.0 + Ember 2.0 : The Torii adapter must implement `open` for a session to be opened

ios - 有没有办法使用应用程序特定密码检索 Apple DSID?

c# - 如何使用 Moq 为不同的参数设置方法两次

C# SSH.NET CreateCommand/RunCommand 不起作用

wcf - 是否有任何理由将 WCF 接口(interface)保存在单独的文件中?

wcf - 从 WSDL 文件生成 C#.net 类