针对跨平台和域站点的SSO解决方案的建议

时间:2012-12-31 15:17:52

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

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

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

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

以下是我正在处理的结构的非常快速的视觉效果:

enter image description here

4 个答案:

答案 0 :(得分:1)

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

就您想要实现的目标而言,ADFS v2.0将为您提供大部分功能,但它只能对AD进行身份验证。对于SQL Server,请使用IdentityServer,然后联合ADFS和IdentityServer。

答案 1 :(得分:0)

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

那里有企业产品,例如CA Site Minder或IBM Tivoli这样的东西。它们并不便宜,因为为此构建自定义解决方案将是一项非常壮举。

答案 2 :(得分:0)

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

但框架将是你最简单的问题。建立这种安全基础设施很难。以nzpcmad的答案为出发点,看一下book和idenitity服务器。

答案 3 :(得分:0)

就跨平台而言,SAML往往会领先。有很多实现(java,php,perl)。正如Dominick(@leastprivilege)所提到的,如果每个应用程序都是基于.Net的,那么WS-Fed通过WIF就可以了。 (顺便说一下,当涉及到WIF时,Dominick是男人 - 如果你计划探索那条路线,肯定会打到他的博客和论坛)

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

无论您选择哪条路线,都要做好充分的阅读和学习准备。查看上面的维基百科文章,了解这些技术的工作原理,并且不要害怕提问。