我一整天都在阅读有关 WCF 安全性的信息,但不能说我对它感到满意。
我已经开发了一些 WCF 服务并将它们部署到测试服务器,并且可以从客户端调用。双方 C#/VS 2010。服务托管在 IIS 6 下。目前没有选择更新的选项。
所以 - 我读过我只能在 IIS 6 中使用 HTTP - 我相信这限制了我使用 basicHttpBinding 或 wsHttpBinding 作为绑定。
我还读到使用 wsHttpBinding 通过网络发送的 XML 是加密的,而 basicHttpBinding 不是。
所以看起来我想使用 wsHttpBinding,因为我需要某种身份验证,并且我想用户名/密码将与传入的消息一起传递。
第一个问题是 - 如果我使用 wsHttpBinding 客户端是否必须使用 https 调用?然后我需要担心服务器上的证书等吗?
第二个问题是 - 我可以使用哪些安全选项?调用者必须是服务器上的 Windows 用户,还是我可以自己编一个用户名/密码,让服务的那部分和服务进行验证,与 Windows 用户无关?如果我必须与 Windows 用户一起使用,我想在服务器上设置一个用户帐户并让所有呼叫者都使用它是很常见的吗?
基本思想是我需要向选定的调用者开放此服务,但不希望任何人都能够发现该服务并调用它。我需要以某种方式控制谁调用该服务。用户名/密码是执行此操作的标准方式吗?例如,我可以定义一个所有调用者都必须通过的 GUID 吗?