在Azure Web App中针对AAD使用Active Directory密码时出现“不支持关键字:身份验证”

时间:2019-02-04 14:48:23

标签: azure azure-sql-database azure-web-sites

我有一个Azure Web App,其中已将连接字符串设置为指向Azure SQL DB。我希望使用Azure Active Directory用户名/密码进行身份验证,因此我使用了以下连接字符串:

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

这会导致我的应用失败,并显示以下错误:

Keyword not supported: 'authentication'

如果我使用SQL身份验证(即删除Authentication="Active Directory Password"并将User IDPassword更改为适当的SQL用户名和密码),一切都会按预期进行。

是否可以将Active Directory Password与Azure Web App连接字符串一起使用,以便使用AAD用户名/密码连接到Azure SQL Db?

1 个答案:

答案 0 :(得分:0)

请按如下所示更改连接字符串:

string ConnectionString =
@"Data Source=n9lxnyuzhv.database.windows.net; Authentication=Active Directory Password; Initial Catalog=testdb;  UID=bob@contoso.onmicrosoft.com; PWD=MyPassWord!";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();

另一个选择:

string ConnectionString =
@"Data Source=n9lxnyuzhv.database.windows.net; Authentication=Active Directory Integrated; Initial Catalog=testdb;";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();

请注意Authentication关键字后面的文本。