2

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

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

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

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

在此处输入图像描述

4

4 回答 4

1

请参阅:基于声明的身份和访问控制指南身份开发人员培训工具包。那里有 WIF 样本。

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

于 2013-01-01T04:50:21.367 回答
0

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

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

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

于 2013-01-03T21:27:11.590 回答
0

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

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

于 2012-12-31T15:29:22.407 回答
0

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

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

于 2013-01-01T18:22:24.173 回答