为在调用 WCF WS 的多个域中运行的后台客户端进程选择 WCF 安全模型?

发布于 2024-09-15 12:24:36 字数 238 浏览 6 评论 0原文

我正在使用 wsHttpBinding 创建 WCF Web 服务以及调用此 Web 服务的相应应用程序。调用 WS 的应用程序背后的想法是,它将作为后台进程从多个客户端站点安装和运行。后台进程将通过调用 WCF 服务定期将信息从其各自的客户端发送回主机。我应该实现哪种 WCF 安全模型,以确保只有来自各个站点上安装的进程的服务调用才能调用 Web 服务上的方法?

注意:Web 服务将位于防火墙后面;然而,这些额外的信息可能与当前的问题无关。

I am creating a WCF web service using wsHttpBinding and a corresponding application that calls this web service. The idea behind the application that calls the WS is that it will be installed and run from multiple client sites as a background process. The background processes will periodically send information from it's respective client back to the host by calling the WCF service. What kind of WCF security model should I implement to make sure that only service calls from the processes installed at the individual sites can call methods on the web service?

Note: The web service will be behind a firewall; however, this extra information may be irrelevent to the question at hand.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

倾城°AllureLove 2024-09-22 12:24:36

如果没有提到防火墙,我会建议两种方法:

  • 使用用户名客户端凭据进行消息安全。此安全模式使用 X509 服务证书来保护消息和用户名令牌以将客户端的用户名和密码传递给服务。
  • 使用证书客户端凭据的消息安全性。该安全模式使用X509服务和客户端证书。客户端证书还用于对客户端进行身份验证。

高级方法可以使用支持令牌(如相互证书)来保护消息并支持用户名令牌进行身份验证。

所有这些方法都需要在客户端计算机上安装证书。

但就您而言,防火墙可以改变解决方案。是否可以使用 HTTP 端口 80 从客户端连接到您的服务?如果没有,请检查您的 IT 部门是否打开与您的服务的传入通信。如果没有,您将必须使用 Azure .NET 服务(云)来中继服务和客户端之间的通信。这可以改变安全场景。

Without firewall mentioned I would suggest two approaches:

  • Message security with UserName client credentials. This security mode uses X509 service certificate to secure message and UserName token to pass client's user name and password to the service.
  • Message security with Certificate client credentials. This security mode uses X509 service and client certificate. Client certificate is also used to authenticate client.

Advanced approaches can use supporting token like mutal certificates for securing messages and supporting user name token for authentication.

All these approaches can require installing certificates on client machines.

But in your case the firewall can change the solution. Is it possible to connect to your service from client using HTTP port 80? If not check that your IT opens incomming communication to your service. If not you will have to use Azure .NET Services (cloud) to relay communication between your service and clients. This can change security scenario.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文