Я только начинаю изучать веб-программирование с использованием IIS 7.5 в Windows 2008 R2 и ASP.Net 4.
Я заметил, что как IIS, так и ASP.Net могут определять правила аутентификации. В IIS есть параметр проверки подлинности формы, где я могу перенаправить пользователя на указанную страницу для проверки подлинности, как показано ниже:
И затем в файле ASP web.config я нахожу похожие настройки:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
Когда я закончу обе настройки, я предполагаю, что любой запрос страницы будет перенаправлен на страницу login.aspx. Но это не так. Так что я в замешательстве. Как 2 набора конфигов работают вместе? А почему страница запроса не перенаправлена?
Спасибо
Обновление
Наконец-то я понял, что это работает, и мне кажется, я понимаю это сейчас. Моя структура сайта выглядит следующим образом:
Речь идет об изменении правил аутентификации. Запретить всем неавторизованным пользователям для root:
<authorization>
<deny users="?" />
</authorization>
CSS-файлы должны быть разрешены для всех пользователей, поэтому у меня есть Styles \ web.config:
<authorization>
<allow users="*" />
</authorization>
и разрешать доступ к register.aspx только неавторизованным пользователям, поэтому у меня есть Account \ web.config:
<location path="Register.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>