首页 > 解决方案 > VS2019 Azure服务认证账号选择本地调试

问题描述

使用 VS2019,我使用工具/选项/Azure 服务身份验证/帐户选择为我的应用程序指定了一个临时“开发人员帐户”,以“在从 Visual Studio 调试时验证和访问 Azure 资源”。开发人员帐户有权访问 Azure SQL 数据库。当我调试时,我的应用程序会获得一个令牌,如下所示:

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;

但是,当我检查返回的令牌时,它不是我指定的开发人员帐户身份的令牌,而是我用来运行 Visual Studio 的正常身份的令牌。一位同事已经能够在 VS2019 中使用与我的开发人员帐户位于同一 Azure AD 组中的开发人员帐户执行此操作。但是由于某些本地环境原因,这对我不起作用。请注意,在 SQL Server Management Studio 中,我可以使用我的开发人员帐户毫无问题地访问 SQL Azure 数据库。

有没有其他人遇到过这个调试身份问题并能够解决它?提前感谢您对此有所了解。

标签: azureazure-active-directoryazure-sql-databasevisual-studio-2019

解决方案


听起来您需要将开发人员帐户添加到您的Azure 服务身份验证

在此处输入图像描述

在下拉列表中添加您尝试使用的 Dev 帐户,并确保将其设为 Azure 的默认帐户。


推荐阅读