У меня Windows Server 2k3 с IIS6, на котором размещена пара приложений ASP.NET MVC 2 (.NET 4), все на веб-сайте по умолчанию. Большинство из них просто используют встроенную аутентификацию, но некоторые также используют формы. Все приложения работают исправно и корректно доступны.
Проблема, которую я пытаюсь решить, - это доступ к документу по умолчанию. В настоящее время он указан как index.htm. И index.htm, и веб-сайт по умолчанию настроены для разрешения анонимного доступа (ни один из флажков доступа с проверкой подлинности не отмечен). Однако доступ к файлу запрещен.
Доступ через server.domain.tld/
и server.domain.tld/index.htm
оба дают 401 ошибку. Тем не мение, server.domain.tld/default.htm
(файл не существует) правильно возвращает 404.
Если я изменю безопасность файла на index.htm, чтобы разрешить встроенную аутентификацию, то запрос /index.htm
напрямую работает правильно для пользователей с учетными записями домена, но анонимные пользователи получают запрос на вход / 401.
Как настроить IIS, чтобы разрешить всем пользователям просматривать index.htm через server.domain.tld/
?
Права доступа к файлам для анонимного доступа устанавливаются через специальную учетную запись пользователя, которая называется IUSR_<MachineName>
.
Проверьте разрешения NTFS (вкладка Безопасность) как для корневой папки документа, так и для index.htm
сам файл. Убедитесь, что у этой учетной записи есть доступ для чтения ко всем файлам и папкам, которые анонимные пользователи должны иметь возможность просматривать.
Если этой учетной записи нет в списке или у нее нет всех разрешений на чтение по умолчанию, попробуйте добавить ее с разрешениями «Чтение» по умолчанию. (Конечно, вам следует не предоставьте этой учетной записи разрешения «Изменить» или «Полный доступ».)
Для получения более подробной информации обратитесь к руководству Microsoft по как установить необходимые разрешения NTFS и права пользователя для IIS6.