是否可以使用machinekey捎带ADFS 3.0登录?

时间:2015-04-16 18:17:06

标签: asp.net wif adfs

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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