我有一个在 prem Windows 服务器上运行的 ASP.NET Web 应用程序。我们需要从 C# 代码连接到 Azure SQL MI。我尝试了以下示例代码:
string ConnectionString1 = @"Server=demo.database.windows.net; Authentication=Active Directory Managed Identity; Encrypt=True; Database=testdb";
using (SqlConnection conn = new SqlConnection(ConnectionString1)) {
conn.Open(); //Erroring out
}
错误消息: 未处理的异常:Microsoft.Data.Sqlclient.Sqlexception:ManagedIdentityCredential 身份验证失败:托管身份响应未采用预期格式。
我错过了什么?
注意:我可以使用 Active Directory 身份验证通过 SQL Server Management studio 连接到同一个 Azure SQL 托管实例。仅当我们尝试从 C# 代码建立连接时才会看到该问题
最佳答案
I have an ASP.NET web application running on prem windows server.
托管身份在本地服务器上不可用,除非它们配置为 Azure ARC-Enabled
否则,要使用 .NET 从本地服务器对托管实例进行身份验证,您可以使用 here 中记录的任何 Azure AD 身份验证方法。 ,除了 SQL Auth 甚至 Windows Auth .
但最常见的方法可能是
SQL Server 身份验证
或
关于c# - 无法使用身份验证 = Active Directory 托管标识从 dotnet Web 应用程序连接到 Azure SQL MI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74957427/