У меня есть веб-сайт ASP.NET, работающий на Windows Server R2 в корпоративной сети, используя проверку подлинности Windows.
- В пуле приложений на сайте используется учетная запись домена и в режиме интегрированного конвейера.
- Аутентификация выполняется при аутентификации Windows, все остальные режимы аутентификации отключены.
Однако это не работает. Каждый раз, когда я обращаюсь к веб-сайту, он выдает диалог с запросом имени пользователя и пароля. Я ввожу правильное имя и пароль пользователя домена, но он не продолжается - окна всплывают снова. Через три раза он выходит из строя и отображает белую страницу. Я пробовал со многими разными браузерами, и все они терпят неудачу. Я попросил некоторых коллег попробовать, и все они тоже потерпели неудачу.
Я не могу понять, почему эта ошибка происходит, и попробовал много способов исправить ее без везения. Я думаю, это очень странно. Однако, наконец, я нашел способ исправить эту проблему, это самая странная часть проблемы: я редактирую "Физический путь" в "Основные настройки" веб-сайта, я просто указываю на другой полезный веб-сайт, например, % SystemDrive%\inetpub\wwwroot, затем я пытаюсь просмотреть веб-сайт, очень хорошо, он работает хорошо и отображает страницу по умолчанию (iisstart.htm). Похоже, что это не очень полезно, но затем я меняю физический путь обратно на свой сайт; внезапно все идет хорошо - работает проверка подлинности Windows! Я не знаю, почему это помогает, но я доволен этим результатом - он исправляет мою проблему, хотя я не знаю, что происходит.
Счастливое время всегда короткое, через несколько дней сервер получил некоторые исправления и перезагрузился, веб-сайт не может работать снова. И снова, я могу решить проблему, используя трюк выше.
Мне это не нравится! Мне не нравится делать этот глупый трюк каждый раз, когда IIS сбрасывается или сервер перезапускается.
Есть ли у кого-нибудь идеи о том, почему проверка подлинности Windows не удается, и почему вышеупомянутый трюк может ее исправить, и почему после IIS reset он снова не работает?