Получение пустой страницы вместо страницы ошибки 401

У меня есть приложение ASP.NET MVC3 с проверкой подлинности Windows, развернутое в IIS6. Когда аутентифицированный пользователь щелкает ссылку, которую ему не разрешено просматривать, ему предлагается ввести свое имя пользователя и пароль (в диалоговом окне браузера, а не на странице ), как ожидалось.

Однако после трехкратного нажатия кнопки «Отмена» или ввода неверных учетных данных вместо страницы 401 Unauthorized я вижу пустую белую страницу.

Глядя на Fiddler, после нажатия кнопки «Отмена» есть три запроса/ответа. Вот резюме ответов и заголовки:

  1. Сообщение об отказе в доступе к ASP.NET (401.2)

    HTTP/1.1 401 Неавторизованный Дата :Пт, 20 июля 2012 14 :34 :21 GMT Сервер :Microsoft -IIS/6.0 WWW -Аутентификация :Согласование WWW -Аутентификация :NTLM X -Работает на -By :ASP.NET X -AspNet -Версия :4.0.30319 Кэш -Управление :частный Контент -Тип :text/html; кодировка=utf -8 Содержание -Длина :1701 Прокси -Поддержка :Сессия -На основе -Аутентификация

  2. IIS У вас нет прав для просмотра этой страницы (401.1)

    HTTP/1.1 401 Неавторизованный Содержание -Длина :1539 Контент -Тип :text/html Сервер :Microsoft -IIS/6.0 WWW -Аутентификация :NTLM TlRMTVNTUAACAAAADAAMADgAAAAF... (опущено для краткости )X -Работает на -By :ASP.NET Дата :Пт, 20 июля 2012 г. 14 :34 :21 GMT Прокси -Поддержка :Сессия -На основе -Аутентификация

  3. Пустой ответ

    HTTP/1.1 401 Неавторизованный Дата :Пт,20 июля 2012 г. 14 :34 :21 GMT Сервер :Microsoft -IIS/6.0 WWW -Аутентификация :Согласование WWW -Аутентификация :NTLM X -Работает на -By :ASP.NET X -AspNet -Версия :4.0.30319 X -AspNetMvc -Версия :3.0 Кэш -Управление :частный Содержание -Длина :0 Прокси -Поддержка :Сеанс -На основе -Аутентификация

Как мне заставить это отображать страницу с ошибкой 401?

Обновление 1:

Вот мой раздел ошибок web.config.


Я также используюHandleErrorAttribute.

Я подозреваю, что IIS возвращает пустую страницу, а не ASP.NET, но я не знаю, как это доказать.

Обновление 2:

Это интересно. Если я обновлю пустую страницу, я увижу сообщение «Отказано в доступе к ASP.NET».

7
задан jrummell 20 July 2012 в 16:57
поделиться