【问题标题】:SharePoint 2010 SSO with ADFS and Custom STS带有 ADFS 和自定义 STS 的 SharePoint 2010 SSO
【发布时间】:2025-11-30 08:45:01
【问题描述】:

我有以下场景:

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

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

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

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

【问题讨论】:

    标签: sharepoint single-sign-on adfs


    【解决方案1】:

    是的,您提出的架构很好。您将不得不停止在 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 作为服务提供的“联合中心”(每 10 万次登录的价格标签为 2 美元)。微软目前更专注于 WAAD 而不是 ADFS。 WAAD 将为您提供对 OAuth、移动方案、Office 365 等的支持。并不是说 ADFS 正在退役或类似的东西,只是我对投资地点的看法。

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

    这里有一些提示:

    马蒂亚斯

    【讨论】:

      【解决方案2】:

      感谢您的回复,这对我帮助很大。

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

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

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

      问候, 帕特里克

      【讨论】:

      • SharePoint 2010 中人员选取器的默认体验将允许您输入任何字符串。由于现在您正在使用声明,您可以说“如果用户的声明类型=电子邮件,声明值=john@foo.com,则允许访问此文档库。如果您想为人员选择器提供更好的体验,一个选项是创建您自己的允许您搜索存储库(在您的情况下为 DB 和 AD)的声明提供程序。如果您对 Auth10 感兴趣,请通过“auth10 com 支持”与我们联系,我们正在运行早期采用计划并寻找反馈和实际使用情况。
      最近更新 更多