[VS2019 Azure服务身份验证帐户选择,用于本地调试

问题描述 投票:2回答:1

使用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数据库,完全没有问题。

其他人是否有此调试身份问题并能够解决?预先感谢您提供的任何启示。

azure azure-active-directory azure-sql-database visual-studio-2019
1个回答
0
投票

听起来您需要将开发者帐户添加到Azure服务身份验证] >>

enter image description here

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

© www.soinside.com 2019 - 2024. All rights reserved.