0

我有需要使用 SAML 令牌访问 WCF Web 和数据服务的 WinForms 和 ASP.Net 应用程序。

我一直在研究 Windows Identity Foundation (WIF) 以使 WCF 服务能够使用来自 STS-IP 的 SAML 令牌。

在客户端,我是否调用 STS 并获取 SAML 令牌,然后将令牌传递给 WCF 服务?如果是这样,我如何获取令牌然后将其传递给 WCF?

或者

客户端是否将用户的凭据(用户名/密码)传递给 WCF Web 服务,该服务获取 SAML 令牌并执行其操作?

我的理解是 WCF 数据服务使用 REST。那么 SAML 如何与 REST 一起工作?

4

1 回答 1

1

SAML 令牌可以通过 WS-Trust 在活动客户端场景 (WinForms) 中检索。WS-Trust 描述了 STS 提供的一些服务来获取令牌(请求安全令牌,RST)。令牌已为依赖方(WCF 服务)签名,并且可以通过 WS-Securtiy 标头传递给它。当然,必须将某种凭证传递给 STS 才能直接获得有效的令牌。

在被动场景(ASP.Net)中它有点不同。最常见的 Web 应用程序使用 STS 处理其用户身份验证。所以用户有一个有效的关联 SAML 令牌。WS-Trust 用于获取对依赖方有效的令牌。然后与上述相同的程序。

依赖方(WCF 服务)仅使用有效的 SAML 令牌处理请求。它永远不会为用户获取令牌。在所有传递用户名/密码和处理身份验证之后,正是你想要避免使用基于声明的身份;-)

我想你看看“MS 的基于声明的身份和访问控制指南。当然 WS-Trust/WS-Security 与 SOAP Web 服务一起使用。

于 2010-07-25T09:40:13.573 回答