You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Framework 4.8连接Azure SQL AD密码认证报WSTrust错误

异常原因解读

抛出AdalException: WSTrust response does not have recognized SAML assertion的核心原因是Azure AD认证流程故障,和Azure SQL数据库本身的服务可用性、基础网络连通性无直接关系。
你当前连接字符串用的Authentication=Active Directory Password模式走的是ROPC密码认证流,当填入的账号是和本地Active Directory做了联邦同步的域账号(而非Azure AD原生托管云账号)时,认证流程会自动向组织部署的AD FS服务发起WSTrust请求,索要用于向Azure AD证明身份的SAML断言。当ADAL组件无法从WSTrust响应里解析到符合格式要求的SAML断言时,就会抛出这个错误。

排查路径

按以下顺序逐项排查即可定位根因:

  • 先核对账号属性:确认使用的User ID是Azure AD原生云账号,还是和本地AD同步的联邦域账号。如果是联邦账号,首先确认运行程序的网络可以正常访问组织AD FS的WSTrust服务端点,防火墙、内网安全策略拦截请求是这类问题的高频诱因;其次联系租户管理员确认AD FS的声明规则配置正确,返回的SAML断言包含Azure AD要求的必填字段。
  • 检查连接字符串笔误:你贴的连接字符串里TrueServerCertificate=False是拼写错误,正确键名为TrustServerCertificate=False,这个问题虽然不是触发当前SAML错误的直接原因,但会导致后续TLS连接校验失败,必须先修正。
  • 核对账号认证配置:Active Directory Password模式完全不支持MFA(多因素认证)、条件访问策略拦截,如果对应账号开启了MFA或者配置了限制ROPC流的条件访问规则,会直接导致认证流程中断。
  • 检查依赖库版本:.NET Framework 4.8默认引用的老版本System.Data.SqlClient内置的ADAL组件存在兼容性缺陷,对新版AD FS返回的SAML 2.0格式断言解析支持不全,很容易触发解析失败。
修复方案

按优先级从高到低选择方案即可解决问题:

  • 优先推荐方案:换用服务主体认证+升级驱动
    卸载项目中默认引用的System.Data.SqlClient,安装适配.NET Framework 4.8的Microsoft.Data.SqlClient 2.x LTS版本,将认证模式改为不依赖WSTrust流程的服务主体认证,完全规避SAML断言解析问题。
    提前在Azure AD中注册应用拿到服务主体的客户端ID、客户端密钥,在目标Azure SQL数据库中为该服务主体创建对应用户并授予所需操作权限,修正后的连接字符串格式如下:
    Server=MyDbAddressHere.database.windows.net;Initial Catalog=MyDbName;Persist Security Info=False;User ID=<服务主体客户端ID>;Password=<服务主体客户端密钥>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Authentication=Active Directory Service Principal;
    
    这个方案稳定性最高,不受本地AD FS服务可用性、联邦域配置变更的影响,是生产环境推荐的认证方式。
  • 兼容保留方案:必须使用域账号密码认证时的修复步骤
    1. 先修正连接字符串里的TrustServerCertificate拼写错误
    2. 将项目中引用的Microsoft.IdentityModel.Clients.ActiveDirectory(ADAL库)升级到最新稳定版本,修复SAML断言解析的兼容性问题
    3. 确认运行程序的网络放通到组织AD FS端点的访问,对应账号关闭MFA、排除限制ROPC流的条件访问策略
    4. 如果是AD FS声明配置问题,联系租户管理员调整WSTrust响应的声明规则,确保返回的SAML断言格式符合Azure AD要求
  • 快速验证方案:临时换用一个未做本地联邦同步的Azure AD原生云账号(后缀通常为租户默认的onmicrosoft.com域名),用Active Directory Password模式测试连接,如果连接成功即可直接确认问题出在联邦账号对应的AD FS/WSTrust环节。

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 15:45:32