1

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

4

3 回答 3

4

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

设置为表单后,您实际上可以自定义 ADFS 登录页面 (FormsSigninPage.aspx) 以执行您想要的任何自定义身份验证。身份验证通过后,ADFS 的其余部分将从您离开的地方重新开始。

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

于 2010-06-17T17:47:03.593 回答
2

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

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

因此,在该解决方案中,不是 AD FS 2.0针对替代存储进行身份验证,而是重定向到 STS,后者针对该存储进行身份验证。

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

于 2011-02-08T21:30:38.287 回答
1

ADFS 2.0 只能对 Active Directory 中的用户进行身份验证。它可以从其他存储(SQL、LDAP、自定义)检索属性,但不能用于身份验证。

您可能希望查看 StarterSTS ( http://startersts.codeplex.com/ ) 作为替代方案。

欧金尼奥

于 2010-05-25T18:10:16.370 回答