使用 VS2019,我使用“工具/选项/Azure 服务身份验证/帐户选择”指定了一个临时“开发人员帐户”,以便我的应用程序“在从 Visual Studio 进行调试时进行身份验证和访问 Azure 资源”。开发人员帐户有权访问 Azure SQL 数据库。当我调试时,我的应用程序获得一个 token ,如下所示:
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder["Data Source"] = serverName;
builder["Initial Catalog"] = dbName;
builder["Persist Security Info"] = "False";
builder["MultipleActiveResultSets"] = "False";
builder["Encrypt"] = "True";
builder["TrustServerCertificate"] = "False";
builder["Connect Timeout"] = 15;
var cancellationToken = new CancellationToken();
var conn = new SqlConnection(builder.ConnectionString);
conn.AccessToken = new AzureServiceTokenProvider().GetAccessTokenAsync("https://database.windows.net/").GetAwaiter().GetResult();
return conn.AccessToken;
但是,当我检查返回的 token 时,它不是我指定的开发人员帐户身份的 token ,它是我用来运行 Visual Studio 的正常身份的 token 。一位同事已经能够在 VS2019 中使用与我的开发人员帐户位于同一 Azure AD 组中的开发人员帐户来执行此操作。但由于某些本地环境原因,这对我不起作用。请注意,在 SQL Server Management Studio 中,我可以使用我的开发人员帐户访问 SQL Azure 数据库,完全没有问题。
还有其他人遇到过这个调试身份问题并能够解决它吗?预先感谢您对此问题的任何说明。
最佳答案
关于azure - VS2019 Azure服务身份验证帐户选择用于本地调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56827628/