已配置Azure AD的ASP.NET应用为何仍会请求本地on-prem ADFS?
跳转问题根因与验证方案
你遇到的跳转行为和应用侧web.config配置无关,完全由Azure AD侧的身份路由规则触发,具体原因和验证方法如下:
核心原因
你的Azure AD租户确实配置了混合联合模式,触发了Home Realm Discovery(HRD)的自动跳转逻辑:
- 如果你测试登录的账号所属域名在Azure AD中被设置为联合域,而非托管域,Azure AD会自动将该域名下所有用户的身份验证请求转发到域配置对应的本地ADFS端点,这个跳转是Azure AD侧主动发起的,应用侧不会感知也不需要存储ADFS的相关配置。
- 即使租户没有全量配置域联合,也可能是单独给这个Azure AD应用配置了自定义HRD策略,指定要跳转到本地ADFS完成身份验证。
验证方法
你可以通过以下步骤确认问题:
- 使用Azure AD原生云账号(后缀为
*.onmicrosoft.com的测试账号)登录应用,如果没有跳转到本地ADFS,即可确认是联合域配置导致的跳转。 - 检查Azure AD的「自定义域名」配置页,查看你测试账号所属的域名状态是否为已联合,该配置项中会存储对应的ADFS跳转地址,也就是你看到的
https://adfs.abc.com。 - 检查该应用对应的Azure AD企业应用配置,确认是否配置了单独的HRD策略强制跳转本地身份源。
你web.config中修改的三个配置项只要值正确指向Azure AD元数据,应用侧的配置就没有问题:
<add key="ida:ADFSMetadata"> <add key="ida:Wtrealm"> <add key="ida:ADFSDiscoveryDoc">
内容的提问来源于stack exchange,提问作者RKh
相关产品推荐
相关产品推荐

