好的,我来详细解释一下 ADFS(Active Directory Federation Services,活动目录联合身份验证服务)


🔹 什么是 ADFS?

ADFS 是微软的一项 身份认证与单点登录(SSO, Single Sign-On) 技术,基于 Active Directory(AD) 和 基于声明的身份验证机制(Claims-based Authentication)
它的主要作用是:

  • 让用户只需使用 域账号 登录一次,就能访问多个受信任的应用和系统(包括本地应用和云服务)。
  • 在跨组织或跨平台的场景下,允许不同的系统共享身份验证结果,而不需要重复输入用户名/密码。

🔹 ADFS 的核心功能

  1. 单点登录(SSO)
    用户在登录 AD 域后,可以直接访问 SharePoint、Exchange、Office 365、Salesforce 等服务,无需再次输入密码。
  2. 跨组织身份联合(Federation)
    允许两个不同组织的用户互访应用,而不需要创建额外的账号。例如:合作公司 A 的员工可以用自己的域账号访问公司 B 的门户。
  3. 基于声明(Claims-based Authentication)
    • 用户身份通过 声明(Claim) 的方式传递,例如“用户名=张三”,“角色=管理员”。
    • 应用根据声明来决定用户权限,而不是直接依赖传统的用户名/密码。
  4. 多协议支持
    • SAML(Security Assertion Markup Language)
    • WS-Federation
    • OAuth 2.0 / OpenID Connect
      这样,ADFS 可以和不同的云应用、第三方系统对接。

🔹 ADFS 的工作流程(简化)

  1. 用户访问某个 Web 应用(比如 Salesforce)。
  2. 应用把请求转发给 ADFS(身份提供方 IdP)。
  3. ADFS 与 AD 验证用户身份(Kerberos/LDAP)。
  4. ADFS 生成一个 安全令牌(Token),里面包含用户身份信息(Claims)。
  5. 应用接收令牌并信任其中的声明,从而允许用户访问资源。

🔹 ADFS 的典型应用场景

  • Office 365 与本地 AD 的集成
    企业用户可以使用公司域账号直接登录 Office 365。
  • 企业门户整合
    公司内部有多个 Web 应用,通过 ADFS 统一认证,减少重复登录。
  • 跨公司合作
    两家公司之间通过 ADFS 建立信任关系,实现账号互通。
  • 混合云环境
    本地 AD 与 Azure AD、AWS 等云服务打通,支持云端 SSO。

🔹 ADFS 的优缺点

✅ 优点

  • 统一身份认证,提升用户体验
  • 提供安全令牌传输,避免明文密码传递
  • 跨平台、跨组织的身份联合

❌ 缺点

  • 部署和配置复杂
  • 依赖 AD 环境(适合 Windows 主导的企业)
  • 运维和高可用性成本较高

👉 简单理解:
ADFS 就是微软的“身份中介”,帮助用户在多个应用和组织之间实现安全的单点登录(SSO)和身份联合。