是否可以使用 machinekey 搭载 ADFS 3.0 登录?

Is it possible to piggyback off of an ADFS 3.0 login using machinekey?

我有三个 asp.net 申请。其中只有一个具有表单身份验证登录名。我将匿名用户重定向到该登录页面,以便所有三个应用程序登录。一旦他们登录,他们会自动重定向回他们试图访问的应用程序和页面。

我通过在所有三个应用程序中设置相同的 MachineKey 来启用此功能。

有没有办法对 ADFS 3.0 WIF 身份验证也执行此操作?它在我的测试中似乎不一样。当我登录到连接到 ADFS 的应用程序时,我仍然无法访问其他两个。

WIF 和 ADFS 的工作方式与传统表单身份验证不同。这些技术依赖于颁发访问令牌,并要求依赖应用程序(也称为依赖方或 RP)配置与令牌提供者(AKA 身份提供者或 IP)的信任关系。您不能在未直接使用 IP 进行身份验证的应用程序之间使用 MachineKey 共享 cookie,老实说,您不想这样做。

典型的 Web 场景(也称为 被动联合)是有一个单独的应用程序作为安全令牌服务 (STS)。此应用程序包含 Login.aspx 页面,并受到表单或 Windows 身份验证的保护,就像您在经典 ASP.NET 场景中看到的那样。当您尝试访问需要身份验证的 Web 应用程序时,需要将其设置为将您重定向到 STS 网站,而不是自行处理。一旦您登录到中央 STS,它将向您颁发一个令牌,然后您将其提供给应用程序以获得访问权限。如果你正确使用 WIF,这一切都在幕后处理,只是一个配置问题。

您的三个 Web 应用程序中的每一个都应该配置为与您的 IP 建立信任关系。你说你已经有一个连接到 ADFS 的 Web 应用程序,如果这是通过适当的信任关系,那么你应该只需要将该设置复制到你的其他 2 个应用程序。