1

我有以下场景:

三个不同的 Sharepoint Server:sp1.company.com;sp2.company.com... 使用 Windows 身份验证的内部用户和使用基于表单的身份验证 (FBA) 的外部用户。

当外部用户从一台服务器更改为另一台服务器时,他们必须再次登录。我的目标是为所有 SharePoint Server 提供单点登录 (SSO)。

我想也许我可以通过为内部用户使用 ADFS 和为外部用户使用 customSts(ThinkTecture IdentityServer)来做到这一点。

这可能吗?如何设置 Sts 服务器 ADFS 和 IdentityServer?我是否必须通过 WS-Federation 将 ADFS 连接到 IdentityServer?

4

2 回答 2

2

是的,您提出的架构很好。您将不得不停止在 SharePoint 上使用表单身份验证和 Windows 身份验证,并开始使用基于声明的(SAML 和 WS-Fed)作为单一登录机制。架构模式是:您的应用程序信任“联合中心”(可以是 ADFS 或 Windows Azure Active Directory)。该服务器将与您的身份提供者和应用程序建立所有信任关系。就您而言,您今天拥有的是几个 SharePoint 应用程序和两个身份提供程序(一个通过 ADFS 的 AD,另一个通过 Identity Server 之类的自定义数据库)。

一切都通过标准协议和令牌格式连接起来。从 SharePoint 到“联合中心”,您将使用 WS-Federation 和 SAML 1.1 令牌。从“联合中心”到 ADFS,您将使用 WS-Federation 和 SAML 1.1 或 2.0 令牌。从“联合集线器”到 Identity Server,它与 ADFS 相同。将来,如果您想插入 Facebook 之类的东西,“联合中心”需要使用 OAuth,但 SharePoint 仍将使用 WS-Federation,因此您不必接触那部分。

ADFS 作为联合中心将为您提供对 WS-Federation 和 SAML 协议(但不包括 OAuth)的支持。今天对你来说可能已经足够好了。您可能需要考虑Windows Azure Active Directory(以前称为 Windows Azure 访问控制服务),它是 Microsoft 作为服务提供的“联合中心”(每 100K 登录的价格标签为 2 美元)。微软目前更专注于 WAAD 而不是 ADFS。WAAD 将为您提供对 OAuth、移动方案、Office 365 等的支持。并不是说 ADFS 正在退役或类似的东西,只是我对投资地点的看法。

将事情放在一起需要一些学习和时间,因此请准备好遇到一些问题,例如证书问题、错误配置、家庭领域发现、声明转换、SharePoint 人员选择器、cookie、注销等。

这里有一些提示:

马蒂亚斯

于 2012-07-31T14:26:52.003 回答
0

谢谢你的回复,对我帮助很大。

我设法构建了一个使用 ADFS 和 CustomSTS 进行身份验证的简单 ASP 应用程序。我可以在 ADFS 中选择主域,并可以在 IdentityServer 中登录,但没有重定向回我的应用程序。此外,我没有管理它来使用 SharePoint。使用 PowerShell 脚本应该很容易,但它还没有工作。

关于人员选取器:我知道我必须覆盖 SharePoint 中的 ClaimsProvider。我是否必须查询 AD 和我的自定义成员资格提供商?

我调查了你的产品。也许这对我们也有用。我会进一步测试它。

问候,帕特里克

于 2012-08-01T15:00:14.133 回答