我想知道 ADFS2.0 是否提供了一种通过自定义存储对用户进行身份验证的方法?在 1.0 版中,您只能使用 Forms/Windows Integrated/Cardspace 对 Windows 域中的用户进行身份验证。我有一个 ASP.NEt 网站,我希望用户根据 SQL 中的自定义存储进行身份验证,然后 ADFS2.0 处理向用户发出的声明...

有帮助吗?

解决方案

这并不完全正确。虽然在默认形式下,ADFS v2.0 仅允许您针对 Active Directory 进行身份验证,但有一种混合方法。您可以将身份验证类型设置为表单(修改ASDFS服务器的\inetpub\adfs\ls目录中的Web.config文件)。

设置为表单后,您实际上可以自定义 ADFS 登录页面 (FormsSigninPage.aspx) 来执行您想要的任何自定义身份验证。一旦身份验证通过,ADFS 的其余部分将从您上次中断的位置继续。

这里有一篇文章展示了如何做到这一点:自定义 ADFS 登录页面

其他提示

(信息复制自 我的另一个答案, ,因为同样的答案适用于此。)

中建议的解决方案 同一问题的另一个答案 有点误导。如果你读过 实际的博客文章 你会看到他们添加了一个额外的 STS。AD FS 2.0 具有针对其他 STS 的“声明提供商信任”,并重定向到它(如果“主领域发现”设置正确)。然后,其他 STS 以它喜欢的方式执行身份验证,将令牌发送回 AD FS,然后 AD FS 运行其声明规则。

所以在该解决方案中它不是 AD FS 2.0 验证 反对另一家商店,但是 重定向到进行身份验证的 STS 反对那家商店。

AD FS 2.0 本身就是这样 不是 允许针对自定义身份验证存储进行身份验证。(看 我的这个答案 请参阅此时的官方文档。)

ADFS在Active Directory 2.0只能验证用户。它可以检索从其他商店(SQL,LDAP,自定义)属性,但不进行认证。

您可能想看看StarterSTS( http://startersts.codeplex.com/ )作为的替代品。

欧金尼奥

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top