我们必须使用声明和表单身份验证在同一 SPWebApplication 上的HNSC https://division1.corp.com https://division2.corp.com。登录到https://division1.corp.com时,我们应该可以访问https://division2.corp,但我们再次获得登录对话框。UserInformationList 在这个 HNSC 之间是同步的。通过查看cookie,它们是不同的。我们将如何解决这个问题?
2 回答
开箱即用的 SharePoint 2010 不提供在其自己的 Web 应用程序之间共享身份验证的方法。这主要是因为每个应用程序都独立地对用户进行身份验证,并且它发出的 cookie 都标有 HTTP Only 标志。这意味着 cookie 不能被不同 DNS 名称上的其他应用程序访问(即使它们是同一个 SharePoint 场的一部分)。
最常见的解决方案是设置一个外部联合可信身份提供者(例如 ADFS)并让您的每个 Web 应用程序都信任它。然后,您可以配置您的联合身份提供者以针对您的表单提供者进行身份验证。
以下是有关 SharePoint 中的身份验证结构如何工作以及如何针对它进行开发的一些更详细信息:http: //msdn.microsoft.com/en-us/library/gg430136.aspx
是否可以在不使用 ADFS 的情况下配置联合信任。本文“Microsoft SharePoint 2010 的基于声明的单一登录”链接将引导您了解将两个 Web 应用程序集成到 Intranet 和 Extranet Web 用户的 sso 环境的示例。本文介绍如何配置 New-SPTrustedIdentityTokenIssuer,您可以在其中将 ProviderRealms 添加到 SPTrustedIdentityTokenIssuer。在我们的场景中,我们设置了 -SignInUrl https://division.corp.com/_layouts/fba/fbalogin.aspx。但我不知道如何配置 federatedAuthentication 部分。