2012-01-24 9 views
0

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

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

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

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

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

ответ

0

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

0

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

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

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