Непонятная проблема с фильтром IIS7 ISAPI

В настоящее время я пытаюсь перенести устаревшее приложение ASP с Windows Server 2000 и IIS5 на Windows Server 2008 и IIS7. Аутентификация для этого приложения использует фильтр ISAPI. И приложение, и фильтр ISAPI работают в новой среде, за исключением одной проблемы. Рассматриваемое приложение настроено как корневое приложение (например, вы получаете к нему доступ, перейдя по адресу http://hostname/application.asp). Если я обращаюсь к нему по указанному URL-адресу, он запрашивает мои данные аутентификации, фильтр ISAPI передает правильные данные для входа и затем выполняет свое дело. Затем я добавил в IIS7 документ по умолчанию, указывающий на application.asp. Теперь, если я получаю доступ к приложению, перейдя на http://hostname, фильтр ISAPI получит неверные данные для входа. Фильтр ISAPI реализует этот метод:

DWORD CMyISAPIFilter::OnAuthentication(CHttpFilterContext* pCtxt, PHTTP_FILTER_AUTHENT pAuthent)

В нем объект pAuthent передается IIS, когда он вызывает фильтр ISAPI, и имеет свойство pszUser, которое обычно содержит значение, введенное в диалоговом окне аутентификации. В моем случае (при доступе к веб-сайту с использованием записи документа по умолчанию) свойство pszUser содержит значение учетной записи Windows, которая запускает пул приложений. Чтобы прояснить ситуацию, фильтру ISAPI передается правильное значение, если я ввожу часть application.asp.

Я совершенно озадачен этой проблемой и понятия не имею, как ее решить. Чтобы все было в порядке, я не могу перестроить / изменить фильтр ISAPI, и я новичок, когда дело доходит до администрирования IIS.

Я также обнаружил, что проверка подлинности работает, если в IIS не установлена ​​функция документа по умолчанию. Без этой функции документ по умолчанию не работает (естественно), но аутентификация работает. Только после того, как я добавлю функцию документа по умолчанию, проверка подлинности прерывается.

Спасибо за вашу помощь!


person Sevas    schedule 25.08.2010    source источник


Ответы (1)


Похоже, что веб-сайт настроен на использование интегрированной безопасности на корневом уровне. Убедитесь, что вы сняли флажок с поля Integrated Windows Authentication на вкладке Directory Security.

Узел «Веб-сайты» также может быть настроен. Так что убедитесь, что вы не пропустите это ;-)

РЕДАКТИРОВАТЬ: Черт, я не могу загрузить картинку. Вам было бы легче найти настройку.

person Yves M.    schedule 25.08.2010
comment
Спасибо за Ваш ответ. Я думаю, что то, что вы пытаетесь описать, на самом деле настраивает IIS5, тогда как я пытаюсь перейти от этого к IIS7. Я не вижу вкладки DirectorySecurity в интерфейсе IIS7 - person Sevas; 25.08.2010