2016-08-05 117 views
0

我需要一个很好的建议,并且想知道解决方案是否可行。目前,我的一位客户拥有一个基于使用成员资格提供程序的Forms身份验证(ASP.NET)的通用登录应用程序。所有内部用户都使用他们的AD凭证登录,外部用户使用自定义用户名和密码。两者都通过Forms身份验证进行封装现在新的提议是用ADFS替换这个Forms身份验证。我通过互联网浏览过各种文章,无法得出结论。让我列出我迄今为止的发现与ADFS扩展点。使用ADFS进行自定义身份验证(不是多因素)

1)可以通过https://blogs.technet.microsoft.com/cloudpfe/2013/12/27/how-to-create-a-custom-attribute-store-for-active-directory-federation-services-3-0/中提到的方法向ADFS声明中添加自定义属性。

2)可以通过方法https://blogs.msdn.microsoft.com/jenfieldmsft/2014/03/24/build-your-own-external-authentication-provider-for-ad-fs-in-windows-server-2012-r2-walk-through-part-1/添加第二级验证(或多因素验证)。在这里我明白,在AD完成第一级认证之后,只有我们的外部提供者会进入图片。

所以我有一个普遍的问题,是真的有可能实现我正在寻找与ADFS。请告诉我。

回答

0

是 - 您可以添加自定义属性存储。

是 - 您可以添加自定义身份验证器。

更好的方法是使用thinktecture的IdentityServer 3.0作为ASP.NET Identity部分,然后联合IdentityServer和ADFS。

0

这取决于用户帐户的存储位置。如果内部和外部用户都在AD中,则可以重定向到ADFS。

如果内部位于AD中,而外部位于不可信或其他LDAP源中,则使用ADFS 2016可以链接到这两个帐户存储并仍将卸载认证卸载到ADFS。

如果external为SQL,则可以使用前面的虚拟目录将其作为LDAP存储(上一个选项)或使用IdentityServer。

如果externs是别的东西,你需要IdentityServer。

谢谢// Sam(@MrADFS)

+0

Hello Sam,感谢您的回复。在我的情况下,内部用户在AD中,外部在ADLDS中。不幸的是,客户端使用Windows Server 2008R2(只有ADFS2.0可用)。 ADFS可以与多个商店(我的情况下是AD和ADLDS)一起工作。我看到这个https://social.msdn.microsoft.com/Forums/vstudio/en-US/102944e3-716e-447b-b2c8-151dd636cd49/using-two-user-stores-for-one-relying-party-trust ?论坛=日内瓦。你能为我提供一些解决方案吗? – Sajan

相关问题