SQL и ошибка IIS при публикации sh ASP. NET приложения в IIS - PullRequest
0 голосов
/ 31 января 2020

Я добавил базу данных в свое приложение, а затем опубликовал ее в IIS. Я получаю сообщение об ошибке SQL и IIS при попытке перейти на сайт и пытаюсь выяснить это весь день. Я надеюсь, что вы можете посмотреть и посмотреть, сможете ли вы что-нибудь придумать. Ошибка IIS: «Не удается открыть базу данных« KML », запрошенную при входе в систему. Ошибка при входе в систему. Ошибка входа в систему для пользователя« NT AUTHORITY \ SYSTEM »». Ошибка SQL: «[SqlException (0x80131904): Невозможно открыть базу данных« KML », запрошенную при входе в систему. Ошибка при входе в систему. Ошибка входа для пользователя« NT_AUTHORITY \ SYSTEM ».]. Я надеюсь, что кто-то может выяснить, в чем проблема Спасибо.

1 Ответ

0 голосов
/ 31 января 2020

Когда вы публикуете sh веб-сайт в iis, он обычно работает под идентификатором пула приложений, и для новых сайтов создается новый пул, названный в честь сайта и имеющий пользователя windows, равного IIS AppPool\site-name-here. Чтобы соединение с БД работало с аутентификацией в режиме Windows, вам нужно создать пользователя / логин в базе данных с именем, соответствующим пулу приложений

В вашем случае вы запускаете свой сайт на пул приложений, который, кажется, использует ntauthority \ system (локальную систему) в качестве своей идентичности. Это монументально плохая идея; любой, кто найдет способ его использовать, получит права администратора на всю машину. Несмотря на команду throw, вам все равно нужно будет выполнить вход и сопоставить пользователя с ним для базы данных KML, чтобы этот пользователь мог войти в базу данных, используя Windows auth

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...