我们有一个 ASP Classic Web 应用程序在 Azure App 服务中成功运行,该应用程序目前使用 SQL Server 身份验证来访问 Azure SQL 数据库。我们需要将身份验证改为活动目录用户。我们设法使这个应用程序从开发人员的工作站访问Azure SQL数据库,看看什么工作和不工作,下面。
* 在桌面上不工作,在Azure中不工作。Conportail.Open "Provider=SQLOLEDB; Server=tcp:.database.windows.net,1433; Initial Catalog=; Persist Security Info=False; User ID=。@leg*.com; Password=; MultipleActiveResultSets=False; Encrypt=True; TrustServerCertificate=False; Connection Timeout=30; Authentication=ActiveDirectoryPassword;"
* 在桌面上不起作用,在Azure中不起作用。Conportail.Open "Provider=SQLOLEDB.1;Server=tcp:.database.windows.net,1433;Initial Catalog=;Persist Security Info=False;User ID=。@leg*.com; Password=; MultipleActiveResultSets=False; Encrypt=True; TrustServerCertificate=False; Connection Timeout=30; Authentication=ActiveDirectoryPassword;"
* 在桌面上工作,在Azure中不工作。Conportail.Open "Provider=MSOLEDBSQL; Server=tcp:.database.windows.net,1433; Initial Catalog=; Persist Security Info=False; User ID=。@leg*.com; Password=; MultipleActiveResultSets=False; Encrypt=True; TrustServerCertificate=False; Connection Timeout=30; Authentication=ActiveDirectoryPassword;"
在Azure App Service中,我们缺少什么才能使之工作?
更新
你可以按照 正文 设置在门户网站。我已经尝试过了,并且成功了。
当你完成了它,你可以找到连接字符串,如图。你只要把它复制并粘贴到你的代码中就可以了。它为我工作。
连接字符串如下
Server=tcp:panshubeidb.database.windows.net,1433;Initial Catalog=dbname;Persist Security Info=False;User ID={your_username};Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Authentication='Active Directory Password';
PRIVIOUS
你的SQL连接字符串应该像 Server=tcp:testdb.database.windows.net,1433;Initial Catalog=test;Persist Security Info=False;User ID=sasasa;Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
.
你可以在门户中找到它,如图。
你也可以在web.config中配置你的connectionstring的名字。
<connectionStrings>
<add name="DefaultConnection" connectionString="You local db connnection strings or others" />
<add name="DefaultConnection11" connectionString="Data Source =**;Initial Catalog = {your db in server not azure};User Id = {userid};Password ={password};" />
</connectionStrings>
你可以配置你的Connectionstrings像我给的代码。而当你想depoly你的应用程序,你可以切换到你的生产数据库,而不是像我给的代码。你可以切换到你的生产数据库,而不需要改变任何代码。更多细节,你可以看到 本文 .
它的优先级比web.config中的配置高,而且它将覆盖代码中的地址,所以在这里设置后,你不需要修改你的 web.config
部署时,文件。