【问题标题】:WCF Web Service and Data Service using SAML使用 SAML 的 WCF Web 服务和数据服务
【发布时间】:2010-07-15 13:03:00
【问题描述】:

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

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

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

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

我的理解是 WCF 数据服务使用 REST。那么 SAML 如何与 REST 配合使用?

【问题讨论】:

    标签: wcf wcf-security wcf-data-services saml wif


    【解决方案1】:

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

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

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

    我想你看看 MS 的"A Guide to Claim-Based Identity and Access Control。当然 WS-Trust/WS-Security 与 SOAP Web 服务一起使用。

    【讨论】:

    • 感谢您的链接和信息。我仍然不清楚客户端(WinForms 或 ASP.Net Web 应用程序)如何将令牌传递给 WCF Web 服务。此外,这将如何与 REST 和 WCF 数据服务一起使用。
    • 根据leastprivilege.com/SecuringWCFDataServicesUsingWIF.aspx,这似乎是一个相当手动的过程。
    猜你喜欢
    • 2010-09-26
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    • 2013-12-20
    • 1970-01-01
    相关资源
    最近更新 更多