是否可以使用 Azure AD 与 MFA 进行连接,以通过 Visual Studio 进行实体框架调用?

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

我正在尝试从 VS 包管理器控制台连接到 SQL Azure 数据库 - 例如

Update-Database -ConnectionString "Some connection string that let's me connect with AzureAD MFA" -ConnectionProviderName "System.Data.SqlClient"

我得到的最接近的是使用这个连接字符串,但我收到一个错误,说需要 MFA,这是有道理的!是否有另一种方法可以指定通过 AAD 进行身份验证的连接并提示我进行 MFA,类似于 SSMS 可以做到的方式?

visual-studio entity-framework azure-sql-database azure-active-directory
2个回答
0
投票

如果您使用的是 .net 5+,您可能需要从

切换

using System.Data.SqlClient;
using Microsoft.Data.SqlClient;

并使用如docs中所示的连接字符串,这将提示用户在浏览器窗口中登录。

// Use your own server, database, and user ID.
// User ID is optional.
string ConnectionString1 = @"Server=demo.database.windows.net; Authentication=Active Directory Interactive; Encrypt=True; Database=testdb; User [email protected]";

using (SqlConnection conn = new SqlConnection(ConnectionString1)) {
    conn.Open();
}

// User ID is not provided.
string ConnectionString2 = @"Server=demo.database.windows.net; Authentication=Active Directory Interactive; Encrypt=True; Database=testdb";

using (SqlConnection conn = new SqlConnection(ConnectionString2)) {
    conn.Open();
}

-1
投票

据我所知,启用Azure AD MFA的用户可以使用C#连接Azure SQL数据库。C#程序使用交互模式的身份验证,支持Azure AD多重身份验证(MFA)。例如,连接尝试可能包括发送到您的手机的验证码。更多详情请参考官方文档

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