【问题标题】:Advice on SSO solution for cross platform and domain sites针对跨平台和域站点的 SSO 解决方案的建议
【发布时间】:2012-12-31 15:17:51
【问题描述】:

我现在对如何为我正在进行的项目构建 SSO 解决方案感到有些不知所措。我知道我需要一个集中的登录站点,但是,我想输入我应该使用什么框架来实现这一点。我一直在阅读一些有关 Windows Identity Foundation (WIF) 的信息,但是,文档和代码示例的缺乏令人非常失望。 DotNotOpenAuth 听起来它在社区中的使用量比 WIF 多得多,但是,我不确定这是否是我使用的正确框架,因为我不会让第三方帐户用于登录。

还要考虑多个用户数据存储;活动目录和 SQL Server 数据库。

我真的不在乎我使用什么框架,只要它简单直观即可;我不想要一个过于复杂的解决方案。文档和样本也是一个加分项!我已经有创建自定义角色提供者和成员提供者的经验;这些都是轻而易举的事。

这是我正在处理的结构的一个非常快速的视图:

【问题讨论】:

  • 不确定这篇文章是否属于这里,但无论如何,我过去曾处理过类似的问题,我们使用asproxy.sourceforge.net 作为基础
  • 代理如何在这里提供帮助?

标签: asp.net-mvc single-sign-on dotnetopenauth wif


【解决方案1】:

参考:Claims Based Identity & Access Control GuideIdentity Developer Training Kit。那里有 WIF 样本。

就您想要实现的目标而言,ADFS v2.0 可以帮助您完成大部分工作,但它只能针对 AD 进行身份验证。对于 SQL Server,请使用 IdentityServer,然后联合 ADFS 和 IdentityServer。

【讨论】:

    【解决方案2】:

    看看 SAML。它旨在解决 SSO。您可能还想查看 OpenID。

    有一些企业产品,例如 CA Site Minder 或 IBM Tivoli 等。它们并不便宜,因为为此构建自定义解决方案将是一项壮举。

    【讨论】:

      【解决方案3】:

      如果您是基于 .NET 的 - 那么 .NET 4.5(包括 WIF)是您的最佳选择。

      但是框架将是您最简单的问题。建立这种安全基础设施是困难的。从 nzpcmad 的答案中查看书籍和身份服务器作为起点。

      【讨论】:

        【解决方案4】:

        就跨平台而言,SAML 往往处于领先地位。有很多实现(java、php、perl)。正如 Dominick (@leastprivilege) 所提到的,如果每个应用程序都是基于 .Net 的,那么通过 WIF 进行的 WS-Fed 是可行的方法。 (顺便说一句,当谈到 WIF 时,Dominick 是 男人 - 如果您打算探索这条路线,肯定会访问他的博客和论坛)

        OpenId 和 OAuth 是您将听到的替代方案。它们的安全性稍差一些(信任在于用户,而不是基础设施),您会发现您必须构建一个提供程序才能支持使用您自己的用户存储进行登录。

        无论您选择哪种路线,都要准备好进行大量阅读和学习。查看上面的维基百科文章,了解这些技术的工作原理,不要害怕提出问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-04-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-08-30
          相关资源
          最近更新 更多