4

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

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

我一直在研究可用的不同 WS-Security 选项(传输、消息等),但它并没有完全下降 100%,我觉得我最终会实现一些看起来安全但实际上并不安全的东西,因为缺乏理解。非常感谢任何帮助。

编辑:

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

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

而且我无法确保特定客户端正在连接到服务,只能确保客户端拥有来自受信任 CA 的证书。至少据我所知。我可能在这里遗漏了一些重要的东西。

4

1 回答 1

1

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

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

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

复杂性的动机:委托或遍历多层架构

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

不知道你的 STS 很难说更多,但谷歌搜索“ActAs 令牌”可能会给你你需要的东西。

于 2014-03-14T21:00:41.907 回答