Олицетворение в IIS 7.0 - PullRequest
       20

Олицетворение в IIS 7.0

7 голосов
/ 14 августа 2008

У меня есть веб-сайт, который работает правильно в IIS 6.0: он аутентифицирует пользователей с учетными данными Windows, а затем при обращении к службе, которая обращается к БД, передает учетные данные.

В IIS 7.0 те же параметры конфигурации не передают учетные данные, и в БД запускается NT AUTHORITY \ ANONYMOUS.

Есть ли что-то, что я пропускаю? Я отключил анонимный доступ на своем веб-сайте IIS 7.0, но не могу заставить его работать.

Это настройки, которые я использую на IIS 6.0 и 7.0:

<authentication mode="Windows">
<identity impersonate="true">

Что изменилось с 6.0 до 7.0?

Ответы [ 4 ]

8 голосов
/ 06 ноября 2008

Произошли изменения между IIS7 и IIS6.0. Я нашел для вас один пост в блоге, который действительно может вам помочь ( нажмите здесь, чтобы увидеть его ).

Запускаете ли вы ваше приложение в интегрированном режиме или в классическом режиме? Из того, что я видел, установка атрибута Impersonate в true должна отображать ошибку 500 со следующим сообщением об ошибке:

Внутренняя ошибка сервера. Это HTTP Ошибка 500.19: запрошенная страница не могут быть доступны, потому что связанные Данные конфигурации для страницы недействительный.

Вот обходной путь, который предлагается:

Обход:

1) Если ваше приложение не полагается на выдаче себя за запрашивающего пользователя в запросе BeginRequest и Этапы AuthenticateRequest (единственный этапы, где олицетворение не возможно в Интегрированном режиме), игнорировать эта ошибка, добавив следующее к web.config вашего приложения:

<validation validateIntegratedModeConfiguration="false"

/>

2) Если ваше приложение полагается на олицетворение в BeginRequest и AuthenticateRequest, или вы не конечно, перейдите в классический режим.

Я надеялся, что было полезно понять, как теперь работает IIS 7.0.

1 голос
/ 23 октября 2008

Ваш сервер IIS настроен как доверенный для делегирования SQLServer? Я сталкивался с этим раньше с WebDAV, где нам нужно было, чтобы сервер с IIS доверял файловому серверу для аутентификации от имени файлового сервера.

0 голосов
/ 17 сентября 2008

Как правило, если вы выполняете двойную аутентификацию, подобную этой, Kerberos обычно участвует, если только первая аутентификация не является базовой.

Я бы проверил аутентификацию на серверах IIS 6 и удостоверился, что она одинакова на IIS 7.

Если в поле IIS 6 установлено значение «Интегрировано Windows», необходимо проверить настройки Kerberos - имена участников-служб, делегирование и т. Д.

0 голосов
/ 14 августа 2008

Интересно ... У меня есть противоположная проблема - Невозможно получить аутентификацию для передачи из браузера клиента, через веб-сервер и в базу данных в большой корпоративной сети через межсетевые экраны. 1003 *

Я также считаю, что аутентификация «базы данных конечного пользователя» в базе данных является плохой идеей и потенциальной угрозой безопасности. Ничто не мешает конечному пользователю загружать SQL-запросы и напрямую подключаться к вашей базе данных, поэтому лучше заблокировать схему!

@ Esteban - Уточнил мои не очень полезны, чтобы помочь вам ответ.

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