Случай 1. Когда я просматриваю небольшой тестовый сайт со своего собственного компьютера под названием JOHNXP (например, http://localhost/WebClient), моя страница .aspx вызывает мой веб-сервис ASMX, который забирает мои учетные данные и передает их другому веб-сервису на ДРУГОЙ машина (SERVERTRIM) в том же домене. Я вижу, что мой запрос приводит к записи в журнале безопасности на компьютере SERVERTRIM с моими учетными данными.
Случай 2. Я перехожу на другой компьютер в том же домене и захожу с теми же учетными данными, которые я использовал на своем персональном компьютере. Когда я просматриваю тот же самый тестовый сайт выше (на этот раз как http://johnxp/WebClient), я получаю перколированный обратно на мою страницу .aspx:
System.Web.Services.Protocols.SoapException: серверу не удалось обработать запрос. ---> System.Net.WebException: запрос не выполнен с состоянием HTTP 401: не авторизован
Глядя на журнал безопасности на SERVERTRIM, я замечаю, что доступ в случае 2 привел к анонимному входу в систему, который, по-видимому, объясняет 401 / Unauthorized.
Я пытаюсь заставить мой веб-сервис использовать учетные данные зарегистрированного пользователя DOMAIN, когда мой WS вызывает веб-сервис поставщика на другом сервере.
Мой веб-сервис ASMX работает на моем рабочем столе (IIS 5.1 WinXP Pro - имя машины - JOHNXP). Я включил анонимный UNCHECKED на каждом задействованном сервере, и у меня есть это в каждом web.config, задействованном в моем сценарии:
Веб-служба поставщика работает на SERVERTRIM (Win 2003 Server), также она ASMX и использует WSE 3.0.
Wireshark и Netmon выглядят слишком грозными инструментами для меня прямо сейчас. Я полагаю, что различные полученные логины на «удаленном» сервере (SERVERTRIM) являются достаточным «доказательством». Все вышеперечисленные машины находятся в одном домене, но я хочу сохранить «удаленный» веб-сервис на SERVERTRIM и мой промежуточный веб-сервис на другом сервере в том же домене, если это возможно. Требует ли этот сценарий, что я должен копаться в «делегировании»? Что может быть самым простым инструментом для отслеживания того, почему одни и те же учетные данные приводят к анонимному входу в систему, когда веб-запрос инициируется на другом компьютере в домене?