У меня есть сайт, работающий в ASP.NET 4.0 на Windows 7. Ultimate.
Он использует FormsAuthentication с красивой маленькой страницей входа в систему, и все это подходит для входа в систему и аутентификации.
Что НЕ работает нормально, так это переопределение авторизации каталога в подкаталогах.
Я хочу, чтобы как аутентифицированные, так и неаутентифицированные пользователи имели доступ к каталогам inc
и images
, чтобы страница входа могла быть правильно оформлена в стиле CSS и имела логотип и тому подобное наверху.
Хорошо, достаточно просто, правда? Я попытался разрешить анонимный доступ к этим папкам с помощью тега <location>
в корневом файле web.config следующим образом:
<location path="images">
<system.web>
<authorization>
<allow users="*,?" />
</authorization>
</system.web>
</location>
а также отдельный файл web.config в целевых каталогах следующим образом:
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow users="*,?" />
</authorization>
</system.web>
</configuration>
но по какой-то причине он не позволяет анонимному пользователю заходить в эти каталоги. Я подтвердил, что это связано с авторизацией, попытавшись перейти непосредственно к одному из URL-адресов изображения, и это не удалось. Но после входа я могу нормально его подтянуть.
Было ли что-то изменено в .NET 4.0 в отношении авторизации, что это не будет работать? Я проделал то же самое на сайтах 2.0 и 3.5 без проблем.