В настоящее время я пытаюсь перенести устаревшее приложение 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 part.
Я довольноозадачен этой проблемой и понятия не имею, как ее решить.Для упрощения работы я не могу по-настоящему перестроить / изменить фильтр ISAPI, и я довольно новичок в администрировании IIS.
Я также обнаружил, что аутентификация работает, если в IIS не установлена функция документа по умолчанию.,Без этой функции документ по умолчанию не работает (естественно), но аутентификация работает.Только после добавления функции «Документ по умолчанию» проверка подлинности прекращается.
Спасибо за помощь!