【发布时间】:2011-06-15 07:52:49
【问题描述】:
我们在 IIS 上的 asp.net 应用程序中托管了几个 WCF 服务。我们越来越多的服务用于内部通信(在我们自己的系统之间,客户端可以位于同一台服务器或其他服务器上)。现在我们需要通过某种方式来保护这些服务。
简而言之:目的是阻止其他人调用我们的服务。只有我们控制的应用程序才能与这些服务通信
我们目前的想法: 我们已经启用了 SSL,并且我们有服务器的公共证书。我们目前的计划是通过使用以下方式启用安全性:clientCredentialType="UserName" 我们有一个自定义验证器,它只检查我们定义的用户名/密码(很像 API 密钥)。
问题 #1:有没有更好的方法?这个场景听起来很简单,我觉得我们缺少一些明显的解决方案。
问题 #2:如果我们这样做,我们已经拥有的 SSL 证书是否足够,还是必须创建任何其他证书?
一些上下文:.net 4,IIS 7,我们可以访问服务器。客户端/服务可能位于不同的服务器上。
更新 1: 客户端可能位于完全不同的网络上。我们在其他地方托管了一些其他系统,它们也需要能够调用这些服务。
【问题讨论】: