Подключение к SQL с анонимным входом в систему с момента перехода на IIS7 - PullRequest
0 голосов
/ 14 ноября 2008

Недавно мой компьютер был обновлен до Vista, что означает, что он включает IIS7. Проблема в том, что веб-сайт ASP.NET, над которым мы работаем, больше не работает. Я получаю сообщение об ошибке, так как приложение пытается подключиться к SQL Server с NT AUTHORITY / ANONYMOUS LOGON вместо пользователя моего домена, а анонимный пользователь не авторизован. Я пробовал несколько вещей, но пока нет решения: - установить и включить «Совместимость конфигурации IIS Metabase и IIS 6» - включить аутентификацию Windows для этого сайта - создан другой пул приложений с режимом управляемого конвейера, установленным на классический - включена совместимость IIS6 WMI и консоль управления IIS6 (отчаянно здесь)

В нашем web.config есть и в нашем machine.config есть. Я попытался установить для олицетворения значение false и ввести имя пользователя и пароль моего домена в machine.config (как раньше), но это тоже не помогло.

Есть вещи, которые мне не хватает? У кого-нибудь еще была подобная проблема?

Ответы [ 4 ]

1 голос
/ 20 ноября 2008

Я считаю, что нашел решение. По крайней мере, сейчас это работает. Вот что я сделал:

  • В настоящее время веб-сайт работает в отдельном пуле приложений с классом управляемого конвейера, для которого установлен классический режим, для параметра Загрузка пользовательского профиля установлено значение Ложь, а для идентификатора установлено значение Пользовательский и используется пользователь домена (и пароль), который имеет доступ к базе данных.
  • В разделе «Авторизация» самого веб-сайта у меня установлено значение «Аноним» и «Олицетворение ASP.NET» отключено.
  • в web.config сайта также установлено.

Кредит, где он должен, этот сайт помог мне.

1 голос
/ 15 ноября 2008

Как ваше приложение проходит проверку подлинности на SQL Server? Использует ли SQL или Windows Auth? Я надеюсь, что вы пытаетесь использовать Windows Auth. В этом случае ваш рабочий процесс IIS должен выполняться под этой учетной записью пользователя Windows. Если нет, то он должен по крайней мере олицетворять учетную запись пользователя Windows, которая имеет необходимые права доступа к SQL Server. Если у вас включена олицетворение, и если вы используете правильную учетную запись пользователя Windows, и если SQL Server аутентифицируется с использованием аутентификации Windows, и если вы все еще не можете получить доступ к SQL Server, возможно, вы столкнулись с проблемой классического двойного прыжка. Другими словами, вы пытаетесь пройти проверку подлинности в IIS один раз и используете те же учетные данные для следующей проверки подлинности на сервере SQL Server по сети (что является вторым прыжком), и Windows не допускает этого по соображениям безопасности.

0 голосов
/ 23 ноября 2008

Ну, я рекомендую вам перейти в интегрированный режим, если не слишком много проблем, чтобы насладиться инновацией, которую он приносит. :)

http://mvolo.com/blogs/serverside/archive/2007/12/08/IIS-7.0-Breaking-Changes-ASP.NET-2.0-applications-Integrated-mode.aspx

0 голосов
/ 18 ноября 2008

Извините, что не могу больше углубляться в проблему. Действительно, это, вероятно, связано с тем, как мы подключились к SQL Server (Win Auth), потому что мы изменили его сейчас. Теперь мы подключаемся с именем пользователя и паролем в строке подключения, и это решено. Так что я не могу сказать, предоставил ли вы ответ, msvcyc, но я проголосовал за ваше решение. Спасибо за время и неприятности.

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