wcf和安全性,身份验证和ssl

时间:2012-12-21 16:38:37

标签: asp.net wcf

我们已经为应用程序构建了一个WCF服务,并且使用WSHttpBinding,一切运行良好。我们现在被要求确保Web应用程序之间的通信 - > WCF - >数据库是安全的,并被要求使用SSL。除此之外,他们还要求我们确保其他应用程序无法访问WCF服务。

如果我们设置SSL,是否阻止其他人尝试进入,或者我们仍然需要在服务上设置clientCredentialType设置?此外,整个应用程序(站点,wcf,db)将在公司的网络中,因此如果我们设置clientCredentialType =“Windows”使用哪个帐户,WCF如何知道允许网站与之通信,哪个Windows帐户是他们使用,或者这是我们需要设置的帐户?

感谢。

1 个答案:

答案 0 :(得分:2)

SSL与身份验证或授权无关。 它做了两件事:

  • 可防止第三方拦截您的流量。
  • 验证人们是他们所说的人。

需要“确保其他应用程序无法访问WCF服务”的要求需要通过某种身份验证/授权机制来处理。您可以根据需要使用Basic或Windows。

由于您在公司的网络中,我会尝试使用Windows身份验证。这将强制客户端通过您的域进行身份验证,但看起来您不希望任何域用户具有访问权限。在这种情况下,您需要设置基于角色的授权或基于用户。无论是战争,您都可以将Web.config文件放入与WCF服务端点相同的文件夹中,以指定授权的帐户。其他用户将看到401 Unauthorized。

这是我采取的一般方法。