Azure DB 连接字符串 - 身份验证失败

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

我是第一次使用 Azure,遇到了问题,如果有人可以提供帮助。 到目前为止,我有一个创建并使用本地存储的 asp.net 项目。我在 azure 上创建了一个学生帐户并创建了我的第一个数据库,但是当我尝试连接到它时,我收到此错误:

Failed to authenticate the user [my user name] in Active Directory (Authentication=ActiveDirectoryPassword).
Error code 0xinvalid_grant
AADSTS50076: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access '022907d3-0f1b-48f7-badc-1ba6abab6d66'. Trace ID: 47fb1edc-221a-418b-bdd0-3375701b4600 Correlation ID: c0970262-82b4-45e8-a805-decd5e4b3799 Timestamp: 2023-11-06 15:01:15Z

我使用了这个连接字符串: ADO.NET(Microsoft Entra 密码身份验证)

Server=tcp:dev-bloggr.database.windows.net,1433;Initial Catalog=DevBloggr;Persist Security Info=False;User ID={your_username};Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Authentication="Active Directory Password";

用户名和密码与我登录azure时使用的相同。

我可以使用 Microsoft SQL studio 使用数据库名称以及用户名和密码连接到此数据库,但我必须使用我的手机通过 Microsoft 身份验证器应用程序进行身份验证,所以我认为这是一个问题。有谁知道我怎样才能做到这一点?

诗。当我检查资源组的角色时,我可以看到我是所有者并且拥有所有访问权限。 谢谢!

asp.net azure azure-sql-database
1个回答
1
投票

当我尝试使用下面的连接字符串通过 Active Directory 密码身份验证连接到 Azure SQL 数据库时:

Server=tcp:<serverName>.database.windows.net,1433;Initial Catalog=db;Persist Security Info=False;User ID={your_username};Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Authentication=Active Directory Password;

我遇到了同样的错误。根据本文,MFA 是所有 Azure 租户的默认登录方法。因此,我使用 Authentication="Active Directory Interactive" 修改了连接字符串:

Server=tcp:dbservere.database.windows.net,1433;Initial Catalog=db;Persist Security Info=False;User ID={your_username};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Authentication=Active Directory Interactive;

MSDN 在这里讨论了不同的身份验证模式:使用交互式身份验证

当我使用上述连接字符串运行应用程序时,它会打开浏览器进行身份验证。验证后显示如下:

enter image description here

它返回的查询输出如下所示:

enter image description here

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