使用联邦安全保护服务器应用程序之间的WCF服务调用

本文关键字:之间 WCF 服务 调用 应用程序 服务器 安全 保护 | 更新日期: 2023-09-27 17:50:11

我有两个MVC站点使用相同的STS进行身份验证。我需要创建一个WCF服务,作为允许其他站点检索数据的站点之一的一部分。

这些站点可以位于可通过internet访问的不同机器上(尽管目前它们位于同一台机器上),并且WCF服务应该只能从客户端站点访问。用于登录到客户端站点的身份验证令牌应该传递给WCF服务。

我一直在研究可用的不同WS-Security选项(Transport, Message等),但它并不是100%可靠,我觉得我最终会实现一些看起来安全但实际上并不安全的东西,因为缺乏理解。如有任何帮助,不胜感激。

编辑:

我的第一次尝试是使用传输层安全性并在IIS中设置要求SSL的WCF服务虚拟目录。然而,这给我留下了一个错误:

"根据验证程序,远程证书无效。"

并且我没有办法确保特定的客户端连接到服务,只能确保客户端拥有来自可信CA的证书。至少就我所知是这样。我可能遗漏了一些重要的东西。

使用联邦安全保护服务器应用程序之间的WCF服务调用

用于登录到客户端站点的身份验证令牌应该是传递给WCF服务。

在这种情况下,您应该从STS请求"ActAs"令牌:

  1. 将WCF服务配置为STS的依赖方。
  2. MVC站点应该回调到STS并请求特定于WCF服务的ActAs令牌。
  3. MVC站点使用ActAs令牌调用服务。

复杂性的动机:委托,或遍历多层体系结构

既然你提到了WS标准:使用wtrustchannel请求委托(ActAs)令牌(与配置疯狂相反)

不知道你的STS很难多说,但谷歌"ActAs token"可能会给你你需要的。