Fik*_*man 16 json azure azure-active-directory .net-core azure-sql-database
我有一个 .NET Core 3.0 应用程序,正在尝试使用 EF Core 和 Active Directory 集成身份验证连接到 Azure SQL 数据库。
我已验证我可以从我的计算机访问此数据库,因为我可以使用 SQL Server Management Studio 和“Azure Active Directory 集成”身份验证很好地连接到它。
但是,当我尝试读取应用程序中的数据(使用 EF Core)时,我总是收到 System.Argument 异常,其中包含以下语句:
密钥“身份验证”值无效
异常详细信息指向数据库连接字符串。
因此,这是我的 dev appsettings.json 文件中的连接字符串:
"ConnectionStrings": { "MCDB": "服务器=tcp:dev-media-center-sql.database.windows.net,1433;初始目录=MediaCenter;持久安全信息=False;用户ID={我的用户ID}; MultipleActiveResultSets=False;加密=True;TrustServerCertificate=False;身份验证=Active Directory 集成;" },
我尝试直接在代码中对连接字符串进行硬编码,认为我的 JSON 可能有问题,但我仍然遇到相同的异常。
“Active Directory Integrated”不是“身份验证”关键字的有效值吗?如果不是,那是什么?我已经尝试过“ActiveDirectoryIntegrated”(不带空格)和/“Active Directory Integrated”/(转义双引号)但无济于事。
Fra*_*hes 21
如果您将 EF Core 与该Microsoft.EntityFrameworkCore.SqlServer包一起使用,请注意EF Core 数据库提供商的Microsoft Learn页面上的此提示:
Microsoft.Data.SqlClient 包的发布频率比 EF Core 提供程序更频繁。如果您想利用新功能和错误修复,可以添加对最新版本的 Microsoft.Data.SqlClient 的直接包引用。
话虽这么说,修复方法是将包添加到您的项目中:
小智 1
这本质上是与较新的 .NET Core 版本相关的相同问题,该版本的答案是当前不受支持,但是我添加了一条评论,我注意到它现在可以工作 - 请参阅EF Core 3.1 using Authentication=Active Directory融合的
| 归档时间: |
|
| 查看次数: |
15902 次 |
| 最近记录: |