У меня есть сайт, который работает в 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 без проблем.