Невозможно подключиться к Azure SQL БД из Azure службы приложений - PullRequest
1 голос
/ 29 мая 2020

У нас есть веб-приложение ASP Classi c, успешно работающее в службе приложений Azure, которая в настоящее время использует SQL серверную аутентификацию для доступа к базе данных Azure SQL. Нам нужно изменить аутентификацию на пользователя Active Directory. Нам удалось заставить это приложение работать с рабочей станции разработчика, обращающейся к базе данных 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; Тайм-аут соединения = 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; Тайм-аут соединения = 30; Authentication = ActiveDirectoryPassword; "

* Работает на компьютере и НЕ работает s в Azure Conportail.Open "Provider = MSOLEDBSQL; Сервер = tcp: .database. windows. net, 1433; Исходный каталог =; Сохранять информацию о безопасности = False; ID пользователя =@leg*.com; Пароль =; MultipleActiveResultSets = False; Encrypt = True; TrustServerCertificate = False; Тайм-аут соединения = 30; Authentication = ActiveDirectoryPassword; "

Что нам не хватает, чтобы эта работа работала в Azure службе приложений?

1 Ответ

0 голосов
/ 30 мая 2020

ОБНОВЛЕНИЕ

Вы можете следовать официальному документу , чтобы установить его на портале. Я попробовал и получил успех.

  1. Создание SQL управляемых экземпляров (может потребоваться много времени)
  2. Настроить администратор Active Directory
  3. Настроить вашу базу данных

Когда вы закончите, вы можете найти строку подключения, например, pi c. Вы просто копируете и вставляете его в свой код. Это работает для меня.

Строки подключения, как показано ниже

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';

enter image description here

enter image description here

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;.

Вы можете найти его на портале, например, pi c.

enter image description here

Вы также можете настроить имя своей строки подключения в web.config.

<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>

Вы можете настроить свои строки подключения как код, который я дал. И когда вы хотите деполировать свои приложения. Вы можете переключиться на производственную базу данных, и вам не нужно ничего менять в коде. Подробнее см. в этой статье .

enter image description here

Его приоритет выше, чем у конфигурации в web.config, и он будет охватывать адрес в коде, поэтому после его установки вам не нужно изменять файл web.config при развертывании.

...