Мы успешно настроили IIS для работы с двумя экземплярами Tomcat с помощью isapi_redirect.dll. Он все делает умно, и мы очень довольны. Однако теперь мы используем один из экземпляров Tomcat для обслуживания веб-сервисов через AXIS. Для этого требуется BASIC Auth, и клиенты .NET не работают.
+ Клиенты .NET могут обходить IIS, перейдя на «site: 8180», и все в порядке
+ Клиенты Java могут подключаться к IIS, а ISAPI передает их и они прекрасно проходят аутентификацию с использованием базового.
+ Клиенты .NET, которые обращаются к IIS, не могут пройти аутентификацию с использованием того же unpw.
Fiddler сообщает об этом сеансе:
HTTP / 1.1 401 Unauthorized
Дата: среда, 7 января 2009 г. 14:31:59 GMT
Сервер: Microsoft-IIS / 6.0
WWW-аутентификация: NTLM
X-Powered-By: ASP.NET
Pragma: No-cache
Cache-Control: no-cache
Срок действия: среда, 31 декабря 1969, 19:00:00 EST
WWW-аутентификация: Базовая область = "Модуль ежедневного контроля"
Тип содержимого: text / html; charset = utf-8
Длина содержимого: 954
Поддержка прокси: аутентификация на основе сеанса
Он запускает то, что выглядит как базовое диалоговое окно авторизации, но вместо того, чтобы просить нас авторизоваться против Daily Control Module, он просит нас авторизоваться против сервера Windows. И действительно, сервер IIS запрашивает аутентификацию NTLM. Если я настрою весь сервер на использование базовой аутентификации, я получу это от Fiddler:
HTTP / 1.1 401 Unauthorized
Content-Length: 1656
Content-Type: text / html
Сервер: Microsoft- IIS / 6.0
WWW-Authenticate: Basic realm = "serverName"
X-Powered-By: ASP.NET
Дата: среда, 7 января 2009 г., 15:08:32 GMT
Вздох. Базовый, но теперь базовая область заменена на сервер IIS. Итак, если я настрою весь сервер на аутентификацию в базовой области, ежедневном модуле управления, то я получу следующее:
HTTP / 1.1 401 неавторизовано
Дата: среда, 7 января 2009 г., 15:11:45 GMT
Сервер: Microsoft-IIS / 6.0
WWW-Authenticate: Basic realm = "Daily Control Module"
X-Powered-By: ASP.NET
Pragma: No-cache
Cache-Control: нет -cache
Истекает: среда, 31 декабря 1969, 19:00:00 EST
WWW-Authenticate: Basic realm = "Daily Control Module"
Content-Type: text / html; charset = utf-8 < br> Content-Length: 954
Странно с двойными заголовками WWW-Auth, не так ли? В любом случае, аутентификация с использованием того же unpw, который работает напрямую с Tomcat, не выполняется, независимо от того, указываю я домен или нет.
В настоящее время:
+ Аноним выключен
+ Встроенная аутентификация Windows выключена
+ Базовая аутентификация включена, а область настроена как Daily Control Module
Спасибо, что искали.