我有一个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 ID
和Password
更改为适当的SQL用户名和密码),一切都会按预期进行。
是否可以将Active Directory Password
与Azure Web App连接字符串一起使用,以便使用AAD用户名/密码连接到Azure SQL Db?
答案 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关键字后面的文本。