Я уверен, что это как-то связано с IIS, но я не могу понять это.
У меня есть веб-сайт, использующий аутентификацию по формам. Когда мой веб-сайт пытается получить доступ к любым файловым ресурсам (файлы JavaScript, CSS и т. Д.), Я перенаправляюсь на страницу входа в формы, заданную в моем файле web.config Я также получаю перенаправление, если просто набираю адрес в адресной строке.
Запись web.config для форм auth довольно проста:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
Есть также два узла местоположения, чтобы запретить пользователям других частей сайта:
<location path="n2">
<system.web>
<authorization>
<allow roles="Editors" />
</authorization>
</system.web>
</location>
<location path="web.config">
<system.web>
<authorization>
<deny users="*" />
</authorization>
</system.web>
</location>
Я использую стандартную установку IIS7 на Windows Server 2008 R2.
Редактировать
Итак, если я добавлю случайный файл cookie аутентификации (FormsAuthentication.SetAuthCookie()
), ресурсы станут доступными, я знаю, что это должна быть моя модель аутентификации, которая как-то испортилась. Он работает на другом сервере (я просто скопировал его). Любые идеи, как я могу отследить проблему?