Проблема авторизации - анонимные пользователи не могут получить доступ к .jpeg или .css
-
03-07-2019 - |
Вопрос
У меня есть это в моем файле web.config:
<authentication mode="Forms">
<forms loginUrl="login.aspx" defaultUrl="Venues.aspx" />
</authentication>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
Я хочу разрешить только аутентифицированным пользователям мои страницы. Проблема в том, что когда я в первый раз захожу на страницу входа, на моей странице нет изображений или стилей. Я думаю, это потому, что я отказал в доступе к файлам .jpeg
и .css
.
Я думаю, что могу решить эту проблему в IIS, но я просто в Dev. У меня только VS 2008 и нет IIS.
Могу ли я разрешить анонимному пользователю доступ к директории imgs
в файле web.config?
Решение
Вы можете разрешить определенные каталоги (прямо под <configuration>
):
<location path="images">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
Также вам, возможно, потребуется включить WebResource.axd
<location path="WebResource.axd">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
Другие советы
Я думаю, что это известная ошибка в Visual Studio - когда вы не используете IIS, Visual Studio по ошибке блокирует файл CSS на странице входа в систему. Р>
Смотрите здесь:
сообщение в блоге от tomtech999
Все должно быть в порядке, когда вы работаете в IIS.
Точно так же, если вы хотите, чтобы элемент управления Microsoft ReportViewer работал на вашей веб-странице, вам нужно добавить это:
<location path="Reserved.ReportViewerWebControl.axd">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Это была проблема для меня, когда я пытался заставить работать версию средства просмотра отчетов 2010 года. (К счастью, потребовалось всего 7 миллиардов лет, чтобы раскрыть источник проблемы.)