CSS не применяется на странице без аутентификации ASP.NET

При разработке (отлично работает) страницы для нашего сайта не подбирают правильный CSS до тех пор, пока пользователь не будет аутентифицирован (зарегистрирован).

Таким образом, формы входа и выхода плохо выглядят, но один раз внутри сайта CSS снова работает.

Я предполагаю, что это какая-то проблема аутентификации? На самом деле они не слишком сильно заглядывали, потому что это было только при работе над разработчиком, поэтому не было большой проблемой, но было бы неплохо узнать, как это исправить.

Ответы

Ответ 1

Проверьте и убедитесь, что сам файл CSS не находится в области, которую вы обеспечиваете. Вы можете вручную исключить файл через web.config, если необходимо.

Ответ 2

Чтобы позволить неавторизованному пользователю просматривать ваши .css файлы (или любой другой файл/каталог), вы можете добавить элемент местоположения в файл web.config, указывающий на файл .css.

<configuration>
   <system.web>
      // system.web configuration settings.
   </system.web>
   <location path="App_Themes/Default/YourFile.css">
      <system.web>
         <authorization>
            <allow users="*"/>
         </authorization>
      </system.web>
   </location>
</configuration>

Ответ 3

Я просто столкнулся с этой проблемой самостоятельно и вручную добавил, что местоположение не имеет никакого значения. Я обнаружил, что я предоставил IIS_IUSRS доступ к папкам, поэтому у моего пула приложений не было проблем с доступом к файлам, но IIS использовал учетную запись IUSR для анонимного доступа.

Чтобы исправить это, я открыл диспетчер IIS → IIS: Аутентификация → Выберите "Анонимная аутентификация" → Нажмите "Действия: Изменить" (или щелкните правой кнопкой мыши) → Выберите "Идентификатор пула приложений"

Теперь попытки анонимного доступа используют IIS_IUSRS, которые имеют правильные права доступа к файлам.

Ответ 4

Можете ли вы попробовать использовать такой инструмент, как Fiddler или HttpWatch и проверьте, действительно ли запрос отправляется на .css файл со страницы входа. Проверьте, что коды возврата - 200. Возможно, из-за проблемы относительного пути в вашем блоке dev.