У меня есть HTTP-модуль для обработки аутентификации с Facebook, который отлично работает в классическом конвейерном режиме.
Однако в режиме интегрированного конвейера я вижу дополнительный запрос для документа по умолчанию, который вызывает сбой модуля. Мы смотрим на запрос (от Facebook), чтобы получить и проверить пользователя, доступ к нашему приложению. Первоначальный запрос аутентифицируется нормально, но затем я вижу запрос second , в котором отсутствуют опубликованные переменные формы и, следовательно, происходит сбой аутентификации.
В режиме интегрированного конвейера запрос http для "/" приводит к двум запросам AuthenticateRequest подряд:
- Запрос, где AppRelativeCurrentExecutionFilePath = "~ /"
- Запрос, где AppRelativeCurrentExecutionFilePath = "~ / default.aspx"
Этот второй запрос теряет все значения формы, поэтому он не может аутентифицироваться. В классическом режиме этот второй запрос является единственным, и он сохраняет значения формы.
Есть идеи, что здесь происходит?
ОБНОВЛЕНИЕ: Вот изображение трассировки от уведомлений модуля в IIS. Обратите внимание, что мой модуль, FBAuth, видит AUTHENTICATE_REQUEST несколько раз (я бы ожидал 2 - один для аутентификации и один для поставторизации, но я получаю 4).
Я начинаю верить, что это как-то связано с конфигурацией модуля / фильтра, потому что я обнаружил (Vista) окно с тем же кодом, который не запускает эти события многократно - он ведет себя как ожидалось. Я пытаюсь выяснить, в чем может быть разница ...
Спасибо!
Том