ADFS 2012 R2替换主认证为自定义认证的实现方案咨询
在ADFS 2012 R2中将MFA设为主认证方式的实现方案
刚帮你梳理了ADFS 2012 R2下把MFA设为主认证的可行方案,毕竟这个版本确实没有2019那种直接覆盖主认证器的原生功能,得用点变通办法,下面给你拆成两种场景来讲:
方法一:通过ADFS内置规则强制MFA作为首要认证
ADFS 2012 R2虽然不能直接替换默认的主认证器,但可以通过认证策略规则来强制用户必须先完成MFA,跳过常规的Windows集成或表单认证。具体操作步骤如下:
- 打开ADFS管理控制台,导航到「认证策略」→「全局认证策略」
- 在「主要认证」区域点击「编辑」,先确认已经启用了你的MFA对应的认证方法(比如Azure MFA适配器、第三方MFA提供商的插件)
- 创建自定义规则,针对所有用户或指定用户组/应用,设置“必须使用MFA”的条件,并且把这条规则的优先级设为最高
- 如果你发现域内机器访问时会自动触发Windows集成认证跳过MFA,可以在规则里排除域内设备,或者直接禁用Windows集成认证作为主要认证选项(根据你的实际业务需求来)
- 给你举个PowerShell操作的例子:先运行
Get-AdfsAuthenticationProvider查看你的MFA提供商名称,比如是AzureMfaAuthentication,然后执行Set-AdfsGlobalAuthenticationPolicy -PrimaryAuthenticationProvider @("AzureMfaAuthentication"),直接把MFA设为全局主要认证方法
方法二:与SAML身份提供商集成,将MFA转移到外部处理
如果你的场景需要更灵活的控制,或者已经有成熟的SAML IdP支持MFA,确实可以通过集成来实现,具体逻辑和认证位置如下:
- 集成逻辑:把ADFS 2012 R2配置为SAML服务提供商(SP),将外部SAML IdP作为主认证源,并且这个IdP默认强制要求MFA
- 认证流程:用户访问依赖方应用时,会被重定向到ADFS;ADFS再根据配置跳转至外部SAML IdP,用户在外部SAML IdP的专属认证页面完成MFA验证;认证通过后,外部IdP会把认证断言发送回ADFS,ADFS再给应用颁发访问令牌
- 配置步骤:
- 在ADFS中添加外部SAML IdP作为「声明提供方信任」,完成元数据导入或手动配置端点、证书
- 配置声明规则,确保外部IdP的MFA认证结果能正确传递给ADFS
- 修改ADFS全局认证策略,把外部SAML认证设置为优先级最高的主要认证方法
- 在外部SAML IdP的配置中,设置所有来自ADFS的请求都强制要求MFA,这样用户必须先完成MFA才能继续
关键注意事项
- 不管用哪种方法,都要先确保ADFS 2012 R2已经正确安装并启用了MFA适配器,比如Azure MFA服务器或者第三方适配插件
- 测试时建议用非域内设备或者浏览器隐私窗口,避免Windows集成认证自动触发跳过MFA步骤
- 如果选择SAML集成,一定要确保外部IdP和ADFS之间的SAML断言签名、证书信任关系配置正确,否则会出现认证失败的情况
内容的提问来源于stack exchange,提问作者Krishnan
相关产品推荐
相关产品推荐

