У меня есть следующая конфигурация проверки подлинности с помощью форм ASP.NET:
<system.web>
<authentication mode="Forms">
<forms name="MembershipCookie"
loginUrl="Login.aspx"
protection="All"
timeout="525600"
slidingExpiration="true"
enableCrossAppRedirects="true"
path="/">
</forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
<location path="Home.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location
Если анонимный пользователь заходит на сайт и запрашивает home.aspx
, если ему будет отказано в доступе и он будет отправлен на страницу Login.aspx
, потому чтопервое правило <deny users="?" />
будет соответствовать и дальнейшая обработка будет остановлена?
Сайт работает на IIS7.5, ASP.NET 4.0, а пул приложений настроен для работы в режиме интегрированного конвейера.
Обновление:
Причина этого вопроса состояла в том, чтобы проверить правильность моего понимания поведения проверки подлинности с помощью форм в ASP.NET 4.0 (которое было действительно правильным).Существует связанный вопрос, который описывает, что похоже на ошибку в исправлении (которое также включено в Windows 2008R2 SP1) - KB980368:
ASP.NET 2.0 и 4.0, кажется,обрабатывать корневой URL по-разному в проверке подлинности с помощью форм