#asp.net-core #iis
#asp.net-ядро #iis
Вопрос:
Я часами пытаюсь использовать несколько комбинаций для подключения моего asp.net основной сайт, размещенный на сервере IIS на удаленном сервере SQL, используя только пользователя SQL и пароль без выхода. Это моя строка подключения в appsettings.json:
"ConnectionStrings": {
"Booking": "Server=SQLServerName;Database=Booking;User Id=XXX;Password=XXX;"
}
- Я попытался установить интегрированную безопасность = false и доверенное соединение = false
- Я изменил идентификатор свойства в пуле приложений на LocalSystem, хотя _ Я перепробовал все варианты.
- Я могу подключиться к базе данных со своего компьютера к SQLManager без каких-либо проблем.
- В моем средстве просмотра событий я вижу следующую ошибку: Microsoft.Data.SqlClient.SQLException (0x80131904): ошибка входа в систему для пользователя ‘DOMAIN NAMEOFTHESERVER $’.
- SQL Server 2016 на сервере базы данных, Windows server 2016 на веб-сервере.
- Я использую проверку подлинности Windows для проверки подлинности пользователя, но мне нужно использовать простого пользователя и пароль для подключения к БД.
Есть идеи о том, что я делаю не так?
Спасибо
Комментарии:
1. ПРАВИЛЬНО!!!! Я добавил строку подключения к файлу appsettings.development.json, и теперь она работает. Большое, большое спасибо
Ответ №1:
Исключение SQLException (0x80131904): ошибка входа в систему для пользователя ‘DOMAIN NAMEOFTHESERVER $’.
Это означает, что строка подключения, которую вы показываете, не используется, поскольку это имя пользователя принадлежит NT AUTHORITYNETWORK SERVICE
. Таким образом, используется другой файл конфигурации, например appsettings.development.json
, который использует Integrated Security=True
, используя идентификатор пула приложений.
Измените среду в вашем web.config на рабочую, чтобы appsettings.development.json
она не использовалась:
<system.webServer>
<aspNetCore ...>
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" />
Ответ №2:
Возможно, вам не хватает установленных разрешений в IIS, если вы установили разрешения для sql db для определенного пользователя. Надеюсь вам помочь.
Комментарии:
1. Я использую проверку подлинности Windows для пользователей, но подключение к базе данных должно осуществляться с использованием этого пользователя и пароля, ничего больше.
2. Это не связано даже с использованием проверки подлинности Windows для SQL Server. Но я вижу, что это не ваша проблема