У меня проблема с приложением ASP.NET, которое работало на IIS 6 / Windows 2003 и недавно было развернуто на новом сервере, также работающем с IIS 6 и Windows 2003.
Он использует встроенную проверку подлинности Windows, которая работает (или по умолчанию возвращается к базовой) в следующих ситуациях:
Однако при использовании www.school.com/intranet/ внутри сети, будь то компьютер, подключенный к домену, или нет, аутентификация сразу же завершается неудачей, что связано с:
Сообщение об ошибке 401.2 .: Неавторизованный: не удалось войти в систему из-за конфигурации сервера. Убедитесь, что у вас есть разрешение на просмотр этого каталога или страницы на основе предоставленных вами учетных данных и методов проверки подлинности, включенных на веб-сервере. Обратитесь к администратору веб-сервера за дополнительной помощью.
По умолчанию не используется обычная проверка подлинности, и в средстве просмотра событий на сервере нет сообщений.
В IIS 6 безопасность каталога для виртуального каталога настроена так, чтобы разрешать анонимный доступ (некоторые страницы не требуют аутентификации) и встроенную аутентификацию Windows.
Поскольку сервер, на котором он находился, умер, у меня нет доступа к его конфигурации, поэтому я не могу сказать, что мне не хватает. Раньше он работал под ASP.NET версии 1.1.4322, но теперь работает под 2.0.50727, но я не думаю, что это должно иметь значение.
Поскольку все работает, но зависит исключительно от используемого URL-адреса, я не уверен, в чем проблема.
По умолчанию встроенная проверка подлинности Windows используется только для зоны «локальной интрасети» в Internet Explorer. Таким образом, если www.school.com не распознается IE как часть локальной интрасети, встроенная аутентификация работать не будет.
На самом деле это не ответ, но получает ли полное доменное имя (www.school.com) правильный IP-адрес, верно? Я бы настроил локальную политику на сервере, чтобы включить некоторые параметры ведения журнала аудита, чтобы посмотреть, есть ли какие-либо подсказки ...