1

我们有一个托管的 Web 应用程序,它使用表单身份验证。此 Web 应用程序由属于不同合作伙伴组织的用户访问。目前,属于合作伙伴组织的用户正在使用我们提供给他们的凭据访问应用程序。

现在,一些合作伙伴组织希望他们的用户使用他们的活动目录凭据来访问应用程序。我们计划为这些合作伙伴组织使用 ADFS,因此将使用其网络中的 Active Directory 对用户进行身份验证,并通过 ADFS 设置的身份验证令牌 cookie 将声明发送到 webapp。根据声明,我们将用户映射到 Web 应用程序的内部用户 ID。

我的问题是,如果我们启用 Web 应用程序 ADFS,1)是否仍然可以允许其他合作伙伴组织用户(不想使用 ADFS)使用现有登录页面登录到 Web 应用程序(表单身份验证) )? 2) 是否应该通过 https 访问启用了 ADFS 的 webapp 中的每个页面?

任何解决方案或指针将不胜感激。

谢谢-阿鲁尔

4

1 回答 1

3

无论用户从何处登录,您的应用都需要要求描述用户的声明。无论哪种情况,它都不应该处理身份验证;这应该委托给受信任的发行者,即 STS。这将允许它以统一的方式与用户交互,而不管他们在哪里以及如何进行身份验证。这意味着您将需要在两个角色中使用 ADFS:身份提供者 (IP) STS 和联合提供者 (FP) STS。对于不想自己维护用户的合作公司的用户,你就是IP-STS;对于那些这样做的人,您将成为 FP-STS。在后一种情况下,ADFS 会将用户从您的领域重定向回合作伙伴的站点IP-STS 将对它们进行身份验证并将它们发送到您的 FP-STS。它会将您合作伙伴的用户 ID 和声明映射到您的领域中有意义的用户 ID。有关用户的此信息和其他信息将包含在您的 FP-STS 发出的声明集中。因此,您的应用程序只信任您的 STS,而不管哪种方案适合不同的用户。请注意,在此场景中,将有两个 STS:您的 ADFS FP-STS 和您合作伙伴的 IP-STS,它们可能是也可能不是 ADFS。在另一种情况下,将只有一个 STS:您的 IP-STS。

并非 ADFS Web 应用程序上的每个页面都需要通过 HTTPS 访问;但是,在身份验证过程中使用的每个人都应该是。

这真是一项不平凡的事业。如果您想更多地谈论它,请随时与我联系

于 2009-11-20T18:14:36.220 回答