【问题标题】:ASP.NET SSO and building a custom STSASP.NET SSO 和构建自定义 STS
【发布时间】:2014-04-10 02:12:43
【问题描述】:

这是我在ASP.NET MVC / Web API Custom Authentication 上的问题的后续。我得到的答案告诉我要调查基于声明的身份验证协议,我一直在阅读 following book 以尝试更好地了解 Microsoft 技术,这将使我能够做到这一点。

根据链接的书,您可以使用 Active Directory 联合服务 (ADFS) 2.0 来发出声明。不清楚的是用户是否需要存储在 Active Directory 中。假设我有一个处理身份验证的现有遗留应用程序,其中用户信息(用户名、密码、电子邮件等)存储在 Oracle 数据库中(根据我之前的问题),我是否仍可以使用 ADFS 来发出声明或将我需要在这个现有的应用程序中构建自己的索赔签发者 (STS) 吗?

鉴于 Active Directory 联合服务 中的 Active Directory 似乎需要将用户存储在 AD 中,但本书也有以下图片

还有这个

ADFS 要求用户在 Active Directory 或 ADFS 信任的存储之一中拥有一个帐户。

这增加了我的困惑。有人可以帮忙解释一下吗?

【问题讨论】:

    标签: asp.net adfs


    【解决方案1】:

    您可以使用 ADFS 属性存储,然后创建具有查询属性存储的声明规则的声明提供程序信任。这篇文章有人使用 SQL 属性存储到 SQL,然后将链接服务器存储到 Oracle。还有一个建议是使用自定义属性存储并从中查询 Oracle。我已经使用了这两种类型的存储,这可能是一个问题,即随着时间的推移,您想要管理和维护什么、代码或 SQL。我可能倾向于自定义属性存储。

    http://social.msdn.microsoft.com/Forums/vstudio/en-US/3418078f-1bb5-4f5f-9d6e-6907d0222600/using-an-oracle-database-as-an-attribute-store?forum=Geneva

    【讨论】:

      【解决方案2】:

      在 ADFS 2.0、2.1 和 3.0 中,必须让用户在 Active Directory 中进行身份验证。

      执行身份验证后,ADFS 可以从任何来源检索用户信息以创建令牌;这些来源称为“属性存储”。如图所示,ADFS 为 AD、ADLDS 和 SQLServer 提供属性存储。如果您需要访问 Oracle 等其他系统,则必须构建自定义属性存储(technet 上有关于如何执行此操作的示例)。

      注意:在即将发布的 Windows Server 2016 上的 ADFS 版本中,您将能够对任何 LDAP 存储中的用户进行身份验证。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-27
        • 2013-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多