0

Я перемещаю приложение MVC на новый сервер. Старом сервере был Windows 2003, новый сервер - Windows 2012 R2.Аутентификация Windows, ошибка ASP.NET MVC

Приложение использует проверку подлинности Windows, а затем использует этого пользователя для вызова SQL Server для извлечения данных.

приложение все еще находится на MVC 1.0, построен с использованием Visual Studio 2008.

Приложение работает отлично локально в Visual Studio. Затем я развернул приложение для IIS7.5. Теперь, если я использую удаленный рабочий стол для подключения к серверу, запустите браузер на сервере, приложение работает нормально.

Проблема, с которой я сталкиваюсь, - это когда я обращаюсь к веб-сайту с любой другой машины в сети. Изначально приложение mvc загружается и отображается нормально. Однако, когда я нажимаю на любую из функций, вызывающих базу данных SQL, я получаю всплывающее окно входа в Windows.

Похоже, учетные данные не передаются на сервер sql.

Я не уверен, почему я получаю это окно для входа, как я сказал, что этого не происходит, когда я запускаю локально в визуальной студии или локально непосредственно на сервере.

Даже при появлении этого окна входа в систему и ввода учетных данных для входа в систему логин завершается с ошибкой. Также после 3 попыток входа в систему происходит сбой приложения.

Есть ли у кого-нибудь идеи о том, почему я получаю это окно для входа?

Благодаря

ОБНОВЛЕНИЕ: SQL Server на другой ящик, который не изменился.

ОБНОВЛЕНИЕ 2: Я только что обнаружил, что если я установил идентификатор пользователя и пароль Active Directory в настройках олицетворения ASP.net в IIS, приложение будет нормально работать с любой машины.

Означает ли это, что Windows Auth не получает идентификатор пользователя AD и передает его на SQL Server?

+0

Похоже, что вам нужно включить и использовать Sql Server Mixed Mode Auth: Windows Authnetication + Sql ... – Daniel

+0

База данных не изменилась, она находится в другом окне. Только приложение asp.net переместилось в новый ящик. Как я уже сказал, приложение работает нормально, если я запускаю его локально на сервере. – Bill

ответ

0

Вы получаете это странное поведение, поскольку пользователь, под которым работает Application Pool, работает на вашем сервере, не имеет достаточных разрешений.

Этот пользователь должен иметь разрешения NTFS.

Если вы меняете пользователя на Local System, это обязательно сработает. Но это может быть запрещено вашими правилами безопасности, поэтому вы должны сначала обратиться к своему ИТ-менеджеру.

+0

Это не имело никакого значения, так как я сказал, что приложение MVC работает нормально, за исключением случаев, когда я вызываю страницу, вызывающую базу данных, и это происходит только тогда, когда я не запускаюсь локально. – Bill

+0

Как сайт подключается к базе данных? windows auth? –

+0

см. Обновление 2 выше – Bill

Смежные вопросы