Asp.net 在.Net核心应用程序1.1中使用Azure SQL server的Active Directory身份验证

Asp.net 在.Net核心应用程序1.1中使用Azure SQL server的Active Directory身份验证,asp.net,sql-server,azure,azure-active-directory,asp.net-core-1.1,Asp.net,Sql Server,Azure,Azure Active Directory,Asp.net Core 1.1,我想在.Net核心应用程序1.1中使用Azure Active Directory身份验证连接到我的Azure SQL server 使用类似于以下连接字符串的连接字符串时: Data Source=n9lxnyuzhv.database.windows.net; Authentication=Active Directory Integrated; Initial Catalog=testdb; 我得到一个例外: System.ArgumentException: 'Keyword not

我想在.Net核心应用程序1.1中使用Azure Active Directory身份验证连接到我的Azure SQL server

使用类似于以下连接字符串的连接字符串时:

Data Source=n9lxnyuzhv.database.windows.net; Authentication=Active Directory Integrated; Initial Catalog=testdb;
我得到一个例外:

System.ArgumentException: 'Keyword not supported: 'authentication'.'
据我所知,AAD Auth可用于.Net Framework 4.6及更高版本的SQL Server。是否可以通过.Net核心应用程序中的AAD连接到服务器。如果是,怎么做


非常感谢您的帮助。

目前,.Net Core不支持Microsoft SQL Server的Microsoft Active Directory身份验证库。请参考这个

通过为Azure SQL Server设置Active Directory管理员,您可以使用SQL Server Management Studio登录到SQL Server。在应用程序或用户使用Azure Active Directory用户/应用程序从其连接到Azure SQL数据库或Azure SQL数据仓库的所有客户端计算机上,必须安装以下软件:

  • .NET Framework 4.6或更高版本

  • 用于SQL Server的Azure Active Directory身份验证库 (ADALSQL.DLL)有多种语言(x86和amd64)


这可能会有所帮助。

adalsql.dll已存在于我的计算机的系统文件夹中。我能够通过.Net Framework 4.6应用程序使用Azure AD连接到SQL server。但是.Net Core 1.1应用程序给了我上述例外情况。@M_coder根据<代码>SQL Server 2016 Management Studio和SQL Server Data Tools for Visual Studio 2015(版本14.0.60311.1 2016年4月或更高版本)支持Azure Active Directory身份验证。(SqlServer的.NET Framework数据提供程序支持Azure AD身份验证;至少支持.NET Framework 4.6版)@M\u coder使用SQL数据库进行身份验证的Azure Active Directory身份验证似乎不支持.Net核心应用程序。@M\u coder请参考此<另一方面,code>NET Core是.NET Framework 4.6的一个子集,它主要针对多平台和云部署进行优化。如果你想使用Azure AD authentication for SQL,你应该使用.NET framework 4.6。这是我最初担心的,它可能在.NET核心应用程序中还不受支持。谢谢你的及时回复。