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

.NET Framework应用服务(EF连SQL Server)能否迁移至Azure AD认证?

可以迁移,具体实现方案如下

结论:运行在App Service中的.NET Framework + Entity Framework应用,完全可以将SQL Server认证模式从SQL身份认证迁移至Azure AD身份认证。

关键实现步骤

  • 版本与环境准备
    确保你的.NET Framework版本在4.6.1及以上(原生支持Azure AD连接SQL Server的类库),同时目标SQL Server(或Azure SQL Database)已完成Azure AD认证配置:设置Azure AD管理员,为需要访问数据库的AD身份(托管标识、用户/组、服务主体)分配对应数据库权限。

  • 修改连接字符串
    替换原SQL认证格式的连接字符串,根据选择的Azure AD认证类型调整:

    • 使用App Service系统托管标识(推荐,无凭据硬编码):
      Server=tcp:your-server.database.windows.net,1433;Initial Catalog=your-db;Authentication=Active Directory Managed Identity;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
      
    • 使用Azure AD用户密码:
      Server=tcp:your-server.database.windows.net,1433;Initial Catalog=your-db;Authentication=Active Directory Password;User ID=user@yourdomain.com;Password=your-ad-password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
      
  • Entity Framework适配
    对于EF6(.NET Framework主流EF版本),无需修改EF核心业务代码,只需确保项目引用的System.Data.SqlClient NuGet包版本在4.8.3及以上(该版本及以后原生支持Azure AD认证参数)。若使用更早的EF版本,建议升级至EF6以获得最佳兼容性。

  • App Service侧配置

    • 若使用托管标识:在App Service的“标识”选项中启用系统托管标识,然后在Azure SQL Database中为该标识添加数据库用户并授予所需权限(如db_datareader、db_datawriter)。
    • 若使用其他AD认证方式:将凭据(如AD用户密码)存储在App Service的“配置”->“应用程序设置”中,避免硬编码在代码或配置文件里。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 04:32:40