AD vs ADFS vs LDAP:像我 5 岁一样解释它

Posted

技术标签:

【中文标题】AD vs ADFS vs LDAP:像我 5 岁一样解释它【英文标题】:AD vs ADFS vs LDAP: Explain it like I'm 5 【发布时间】:2018-12-03 01:10:50 【问题描述】:

我没有与 Microsoft 合作,但我很难从概念上理解 AD、ADFS 和 LDAP 如何协同工作。

假设我有一个需要身份提供程序的应用程序。 AD 和 LDAP 如何发挥作用?

我的谷歌搜索并没有为我提供这些概念的清晰摘要,但如果存在资源,请向我指出。

【问题讨论】:

【参考方案1】:

AD 和 LDAP 包含用户属性,例如名字,姓氏,电话号码。

它们还包含用户登录名和密码以及角色(组),因此可用于身份验证和授权。

本次认证主要使用Kerberos。

在 Microsoft 世界中,AD 是主要参与者,但如果您想要一个“简单”的 AD,您可以使用本质上是 LDAP 的 ADAM / LDS。

ADFS(一个 IDP)位于这些之上并提供一个联合层。

联合是一个概念,A 公司的用户可以使用其 A 公司的凭据向 B 公司的应用程序进行身份验证。

它使用三种联合协议之一来执行此操作:

SAML 2.0 WS 联合 OpenID 连接

结果是一个 SAML 令牌或一个 JWT (OpenID Connect),其中包含来自该用户的 AD 的一组属性。这些要提供的属性列表是通过声明规则在 ADFS 中配置的,令牌中的属性称为声明。

【讨论】:

这个答案的第一句话并不完全正确。 LDAP 本身是目录服务器使用的协议,包括 AD(和其他目录服务,如 OpenLDAP)。如果声明改为“LDAP 服务器”,我同意任何符合 LDAP 的目录服务服务器 - 都是专门的数据库。我觉得区分(除非我错了)很重要,因为这个问题需要像 5 岁的孩子一样解释。

以上是关于AD vs ADFS vs LDAP:像我 5 岁一样解释它的主要内容,如果未能解决你的问题,请参考以下文章

Spring LDAP vs UnboundId LDAP

Spring Boot Security ldap auth针对多个独立的AD域

23岁IT男子与女友分手,扔下200万元分手费走了;Google I/O大会亮点汇总;VS和Eclipse争夺5月最强IDE

如何将 AD FS 组成员身份映射到自定义 AWS Cognito 属性?

25岁程序员 VS 35岁程序员,太真实!

Spring 5,从 LDAP (AD) 获取信息