2012-12-21 168 views
1

我们已经为应用程序构建了一个WCF服务,并且使用WSHttpBinding一切正常。我们现在已经被要求确保Web应用程序 - > WCF - >数据库之间的通信是安全的并且被要求使用SSL。除此之外,他们要求我们确保WCF服务不能被其他应用程序访问。wcf和安全,身份验证和ssl

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

谢谢。

回答

2

SSL与认证或授权无关。 它有两件事:

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

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

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

这是我采取的一般方法。