我们已经为应用程序构建了一个WCF服务,并且使用WSHttpBinding,一切运行良好。我们现在被要求确保Web应用程序之间的通信 - > WCF - >数据库是安全的,并被要求使用SSL。除此之外,他们还要求我们确保其他应用程序无法访问WCF服务。
如果我们设置SSL,是否阻止其他人尝试进入,或者我们仍然需要在服务上设置clientCredentialType设置?此外,整个应用程序(站点,wcf,db)将在公司的网络中,因此如果我们设置clientCredentialType =“Windows”使用哪个帐户,WCF如何知道允许网站与之通信,哪个Windows帐户是他们使用,或者这是我们需要设置的帐户?
感谢。
答案 0 :(得分:2)
SSL与身份验证或授权无关。 它做了两件事:
需要“确保其他应用程序无法访问WCF服务”的要求需要通过某种身份验证/授权机制来处理。您可以根据需要使用Basic或Windows。
由于您在公司的网络中,我会尝试使用Windows身份验证。这将强制客户端通过您的域进行身份验证,但看起来您不希望任何域用户具有访问权限。在这种情况下,您需要设置基于角色的授权或基于用户。无论是战争,您都可以将Web.config文件放入与WCF服务端点相同的文件夹中,以指定授权的帐户。其他用户将看到401 Unauthorized。
这是我采取的一般方法。