Я уверен, что это имеет какое-то отношение к 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.
Edit
Итак, если я добавлю произвольный файл cookie (FormsAuthentication.SetAuthCookie()
), ресурсы станут доступными, я знаю, что это должна быть моя модель аутентификации, которая каким-то образом перепуталась. Он работает на другом сервере (я только что скопировал его). Любые идеи, как я могу отследить проблему?