У меня есть страница страницы входа, которая должна быть доступна для пользователей, не прошедших проверку подлинности. На моем локальном сервере ASP.Net dev все работает хорошо. Однако при развертывании в IIS 7 все статические данные, такие как изображения и сценарии, не загружаются. Только когда пользователь регистрируется в первый раз, он возвращает изображения и сценарии. Сервер возвращает HTTP 302 для не прошедших проверку пользователей. Я использую проверку подлинности форм & Поставщик членства ASP.Net.Статический контент IIS 7+ MVC не отображается на странице входа (для пользователей, не прошедших проверку подлинности)
ответ
Шаг 1: Убедитесь, что соответствующие каталоги («Content» и «Сценарии» по умолчанию для MVC) был включен для «анонимной проверки подлинности» в web.config (внутри), например:
<location path="Content">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="Scripts">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Шаг 2: Убедитесь, что встроенная учетная запись «IUSR» имеет доступ для чтения к этим каталогам. Этот пользователь используется по умолчанию для всех анонимных запросов.
Примечание: Вы можете изменить, какая учетная запись используется для анонимного доступа, путем редактирования applicationHost.config в C: \ Windows \ System32 \ inetsrv \ config. На 64-битных машинах этот файл можно редактировать только с помощью 64-разрядных приложений (т. Е. Не Visual Studio). Блокнот работает хорошо. Перед редактированием обязательно сделайте резервные копии. Вы ищете следующую строку:
<anonymousAuthentication enabled="true" userName="IUSR" />
Анонимный пользователь, не имеющий доступа, был моей проблемой. Особенно, если вы размещаете свой сайт по пути не по умолчанию и используете пользовательскую учетную запись для своего пула приложений, IUSR не будет иметь прав. Перейдите в раздел «Аутентификация»/щелкните правой кнопкой мыши «Анонимный доступ» и выберите свой идентификатор пула приложений, все работает на 100%. –