WIF SessionAuthenticationModule не выполняется правильно - PullRequest
0 голосов
/ 24 января 2012

У меня возникает странная ситуация, когда я пытаюсь диагностировать, и буду признателен за любые советы о том, где искать.

У меня есть приложение ASP.NET, использующее WIF, которое содержит другое приложение ASP.NET в детствев IIS 7.5.Это дочернее приложение содержит веб-сервис на основе REST.Прямой доступ к этой службе путем вставки URL-адреса в браузер приведет к перенаправлению на страницу входа в ADFS.Вот как я ожидаю, что это сработает.Странно то, что у меня есть вторая среда, в которой развернуты те же приложения и службы, и в этой среде меня никогда не перенаправляют на страницу входа.

Я проверил, что все файлы web.config идентичны,а также проверил все настройки IIS, которые, как я думал, могут быть связаны.Для просмотра веб-страниц во второй среде требуется вход в систему, но не для просмотра непосредственно в файле REST .svc.Я проверил все HttpModules и отображения обработчиков в IIS.Я также включил отслеживание событий Microsoft.IdentityModel и в первой среде вижу основные записи для перенаправления на STS.Во второй среде я не вижу никаких событий WIF.SessionAuthenticationModule, кажется, вызывается, когда я проверяю поток данных, используя трассировку сбоя IIS, но не уверен, почему он не требует аутентификации.

Я знаком с проблемами, связанными с файлами cookie, с WIF и убедился, что всеНастройки cookieHandler были правильными.Я также закрыл окна браузера и очистил все куки, чтобы убедиться, что модуль SessionAuthenticationModule не видит предыдущие куки WIF.

Если вы можете придумать что-нибудь еще, что я должен проверить, пожалуйста, дайте мне знать.

Ответы [ 2 ]

0 голосов
/ 03 февраля 2012

После долгих проб и ошибок и тщательного изучения файлов applicationHost.config между двумя серверами я обнаружил, что это было вызвано различием в порядке обработки обработчиков HTTP. Обработчик ExtensionlessUrl-Integrated-4.0 собирал запрос на одном сервере и перенаправлял его в ADFS. На другом сервере обработчик svc-Integrated-4.0 сначала отвечал на запрос. Вы можете прочитать больше об этом поведении здесь: http://support.microsoft.com/kb/2520479

0 голосов
/ 24 января 2012

Если у вас одно и то же приложение в двух разных средах, привязанных к одному и тому же экземпляру ADFS, URL-адреса должны быть разными, поэтому я озадачен утверждением «все файлы web.config идентичны»?

Вы пытались повторно запустить FedUtil в приложении, которое не работает?

Также проверьте настройки AppPool.

...