Авторизация в ASP.NET 4 - PullRequest
       31

Авторизация в ASP.NET 4

0 голосов
/ 02 сентября 2010

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

1 Ответ

0 голосов
/ 22 сентября 2010

понял это.Я переместил каталог моего веб-сайта из стандартного.И хотя IIS дал разрешение группе IIS_IUSERS на этот каталог, по какой-то причине не предоставил права пользователя IUSR на каталог.Добавил его вручную, и BOOM , все заработало!

...