Я вижу новое поведение в проверке подлинности с помощью форм после обновления до .NET 4.0. Это происходит только на IIS 6, а не на 7.
Справочная информация. В файле web.config мы настраиваем проверку подлинности с помощью форм, а затем используем теги <authorization
> для глобального запрета доступа анонимных / неаутентифицированных пользователей. Затем мы явно разрешаем доступ к странице login.aspx, используя тег <location
>. Как правило, это работает нормально, как это было, когда мы были на .NET 2.0 (3.5).
Эта проблема возникает только при посещении корневого пути сайта, например: "http://myserver/". Наш документ по умолчанию настроен в IIS как login.aspx. В .NET 4.0 после посещения этого URL мы перенаправлен на "http://myserver/login.aspx?ReturnUrl=/". Если вы войдете отсюда, вы войдете в систему и вернетесь обратно на страницу входа (чёрт).
Просто хотел опубликовать это здесь, чтобы увидеть, если кто-то еще испытывает это. Он не указан ни в одной документации по "критическим изменениям", которую мне удалось найти. Либо я что-то упустил, либо модуль UrlAuthorization изменился и больше не «умел» относиться к документам IIS по умолчанию.