ADFS 实现 OA 单点登录的核心是配置信赖方信任并传递 UPN 声明:需确认 OA 支持 SAML 2.0/WS-Fed,ADFS 中添加其为声明感知信赖方,导入元数据或手动填写实体 ID 与答复 URL,启用 IDP 初始化 SSO,并在 OA 端配置 ADFS 的 SSO URL、Issuer 和签名证书,确保内网 DNS 可达及用户属性匹配。
用 adfs 实现内部 oa 系统与域环境的身份验证集成,核心是让 oa 系统信任 adfs 作为身份提供者(idp),用户使用域账号(如 user@domain.com)一次登录,即可免密访问 oa,无需重复输入凭据。
确认 OA 系统支持的协议类型
ADFS 主要通过 SAML 2.0 或 WS-Federation 协议对外提供联合身份验证。需先确认你的 OA 系统是否原生支持其中一种:
- 主流 Java/.NET 开发的 OA(如泛微、致远、蓝凌)通常支持 SAML 2.0;
- 部分较老系统可能仅支持 WS-Fed,ADFS 同样兼容;
- 若 OA 仅支持 LDAP 或本地数据库认证,无法直接对接 ADFS,需先升级或加装 SAML 插件/网关代理。
在 ADFS 中添加 OA 为信赖方信任(Relying Party Trust)
这是最关键的配置步骤,相当于告诉 ADFS:“这个 OA 系统是可信的,允许它接收我签发的用户身份断言”。
- 打开 ADFS 管理控制台 → “信赖方信任” → “添加信赖方信任” → 选择“声明感知”;
- 导入 OA 提供的元数据文件(通常是 https://oa.example.com/saml/metadata.xml),或手动填写:实体 ID(即 OA 的唯一标识,常为 OA 登录入口 URL)、答复 URL(SAML 断言回传地址,如 https://oa.example.com/saml/acs);
- 启用“启用 IDP 初始化的单点登录”,确保用户从 OA 首页访问时能自动跳转到 ADFS 登录页;
- 配置声明规则:至少传递 UPN(User Principal Name) 或 Windows Account Name,这是 OA 识别用户身份的关键字段。
在 OA 系统中配置 SAML 身份提供者信息
OA 需要知道去哪里验证用户、如何校验签名。需填入 ADFS 公开的 IdP 元数据或关键参数:
- SAML SSO URL(单一登录服务 URL):一般为 https://adfs.yourdomain.com/adfs/ls/;
- 实体 ID(Issuer):ADFS 的 Federation Service Identifier,如 https://adfs.yourdomain.com/adfs/services/trust;
- X.509 证书:从 ADFS 服务器导出其签名证书(Base64 编码的 .cer 文件),粘贴到 OA 的证书字段中,用于验证 SAML 响应签名有效性;
- 可选但推荐:配置“单一注销 URL”(如 https://adfs.yourdomain.com/adfs/ls/?wa=wsignout1.0),实现退出 OA 时同步登出 ADFS 会话。
网络与权限细节不能忽略
即使配置全部正确,以下两点常导致失败:
- DNS 与 HTTPS 可达性:OA 服务器必须能通过内网 DNS 解析并访问 https://adfs.yourdomain.com;建议使用内网域名而非 IP,且证书必须由企业内网 CA 或公共 CA 签发,不能是自签名;
- 域用户属性匹配:确保 OA 中的用户标识字段(如“工号”“邮箱”)与 ADFS 传递的 UPN 或邮件地址一致;若 OA 按员工编号匹配,可在 ADFS 声明规则中添加“LDAP 属性 → 声明”映射,将 AD 中的 employeeID 作为输出声明;
- 测试时用域管理员账号登录 ADFS 控制台,检查“事件查看器 → Applications and Services Logs → AD FS → Admin”有无错误事件(如 364、1202 类),快速定位证书过期、签名不匹配等问题。
不复杂但容易忽略

















