【问题标题】:SSO using Windows Identity Foundation and WCF使用 Windows Identity Foundation 和 WCF 的 SSO
【发布时间】:2014-07-18 12:35:52
【问题描述】:

我们有一个客户拥有以下现有产品线

  • Website1(使用存储在 SqlDB for website1 中的用户信息使用表单身份验证)
  • WebSite2(使用存储在 SqlDB for website2 中的用户信息使用表单身份验证)
  • WinApplication1(使用 Active Directory 验证用户)

更多产品即将发布。

他们希望为所有具有以下功能的产品实施单点登录 (SSO)-

  • 用户访问的产品列表将取决于他/她的角色。 它应该是可配置的。在具有 Fk 关系的 DB 中定义角色 与用户表。
  • SSO 服务应灵活适应新产品。
  • 应该使用 SAML 来获取令牌。
  • WinApplication1 有 website1 和 website2 的链接。如果用户在 WinApplication1 中登录 并点击 website1/website2 的任何链接,用户应该能够在没有 输入他的凭据。
  • 如果用户登录了任何产品,该用户应该可以访问任何其他产品 他无需输入用户名/密码即可访问。

我们有以下查询

  • 我们计划使用 WCF 和 WIF 实施 SSO。以上要求都可以满足吗 通过使用 WIF。
  • 我们希望在各自的产品中保留用户身份验证部分,因为每个产品都有自己的 自己的用户商店。或者我们应该有集中的用户商店?
  • STS(在 WCF 中实现)在 SSO 和 安全吗?

我们从 MSDN(http://msdn.microsoft.com/en-us/library/hh377151(VS.110).aspx, http://msdn.microsoft.com/en-us/security/aa570351.aspx) 阅读了很多关于 WIF 的文章,找不到任何提供一些实际场景的可靠文章/示例。他们中的大多数关于使用本地 STS...可能是我的运气不好。

【问题讨论】:

    标签: wcf single-sign-on wif saml


    【解决方案1】:

    我找到了一篇与您的大部分需求相匹配的文章,并附有实际的实现示例。

    本文从依赖方应用程序的角度描述了一种在单点登录 (SS0) 方案中针对 Windows Identity Foundation 进行编程的简单方法。 WIF 支持各种基于声明的身份验证方案,但本文档将重点介绍使用 WIF 开发支持 SSO 的应用程序,前提是使用包含一些基本声明的 SAML 2.0 令牌。

    文章还包括一些解释在 AD 用户中使用角色的部分:

    http://www.c-sharpcorner.com/UploadFile/scottlysle/windows-identity-foundation-and-single-sign-on-sso/

    要从 Web 应用程序模拟 WCF 调用中的原始调用者,您还需要遵循:

    http://msdn.microsoft.com/en-us/library/ff650591.aspx


    更新

    IP-STS 和 FP-STS 之间的区别以及如何选择在您的架构中放置 STS 的位置。您将了解联合、家庭领域发现以及如何利用 WIF 可扩展性模型来处理多个身份提供者。

    http://bit.ly/bTo3w4

    如何通过身份提供者功能增强通用网站,而不管它使用何种身份验证技术,只需添加一个 STS 页面即可。 另一个实验室展示了如何使用现有的会员商店来验证对自定义 STS 的调用和获取声明值。

    http://bit.ly/bQAQhA

    WIF 和 WCF

    http://bit.ly/8X63T5

    希望对你有帮助。

    【讨论】:

    • 感谢 Pranav>> C-Sharpcorner 文章正在使用本地 STS 并仅展示如何获取索赔信息。我们需要了解如何使用 STS,其中 RP 网站在其自己的数据库中拥有其用户信息。
    • 它应该比这更容易,因为您可以在自己的数据库中拥有用户信息,而不是使用声明从其他来源(如 fb、twitter)检索用户信息。我添加了新的评论链接。
    • 我现在要做的事情-我已经创建了一个 WebSite_STS 并在其中使用默认声明配置了本地 STS。创建另外两个网站 website1 和 website2 并将 FederationMetadata.xml 文件从 Website_STS 复制到网站的根目录和 webconfig 中的配置路径。现在,当我运行 website1 或 2 时,它不会调用 Website_STS。我是不是做错了什么。
    • 请检查 SSO 设置是否适合网站和工作。
    • 如果你愿意,我可以附上样品。 RP 站点中的配置设置 -localhost:61974/FederationMetadata/2007-06/…" /> 授权> ----------
    猜你喜欢
    • 2012-02-20
    • 2011-02-27
    • 2011-12-19
    • 2011-08-10
    • 2012-12-26
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多