Я обновил старый проект, содержащий файлы .asmx от MVC 3 до MVC 5, и теперь обработчик Application_AuthenticateRequest в Global.asax больше не видит все запросы. Он видит первоначальные запросы клиента, мой код возвращает 401 с запросом BASIC, но когда клиент отвечает набором заголовков Auth, Application_AuthenticateRequest никогда не получает второй запрос. Я использовал Fiddler, чтобы проверить это.Обновлено с MVC3 до 5, теперь Application_AuthenticateRequest больше не получает запросы auth'd
Кроме того, что-то - вероятно, MVC-каркас - добавляет собственный исходный код BASIC с помощью realm = 'localhost' в исходном ответе, поэтому исходный ответ моего приложения дважды содержит заголовок BASIC auth.
Как получить обработчик Application_AuthenticateRequest, чтобы снова увидеть все запросы, к которым он привык?
EDIT TO ADD: Я получаю такое же поведение в совершенно новом проекте MVC5. Но проблема возникает только для Local IIS; код отлично работает на IIS EXPRESS.
Я также пробовал свой код на новой установке сервера, настройки IIS которой являются нормальными. Тот же вопрос.
... Приложение_BeginRequest is называется оба раза, поэтому второй запрос делает это в приложении. Поэтому я предполагаю, что MVC5 добавил новую функцию, которая «помогает»?
Используете ли фильтр '[Authorize]' 'непосредственно на контроллере или как глобальный фильтр? –
Нет. Есть только один контроллер, и это в основном для heartbeat/debugging. –
В разделе '' в файле web.config есть значение 'runAllManagedModulesForAllRequests' равное true? –