2009-04-22 2 views
0

Случай 1. Когда я просматриваю небольшой тестовый сайт с моего собственного компьютера под названием JOHNXP (например, http://localhost/WebClient), моя страница .aspx вызывает мой веб-сервис ASMX, который берет мои учетные данные и передает их через другую веб-службу на машине ANOTHER (SERVERTRIM) в том же домене. Я вижу, что мой запрос приводит к записи журнала безопасности на машине SERVERTRIM с моими учетными данными.Олицетворение не дает авторизации с теми же учетными данными на рабочей станции A и B

Случай 2. Я перехожу на другой компьютер в том же домене и вхожу в систему с теми же учетными данными, которые я использовал на своем личном рабочем столе. Когда я просматриваю один и тот же тестовый сайт выше (на этот раз как http://johnxp/WebClient), я получаю это перколированное обратно на мою страницу .aspx:

System.Web.Services.Protocols.SoapException: серверу не удалось обработать запрос. ---> System.Net.WebException: запрос не удался с HTTP-статусом 401: неавторизованный

Просмотрев журнал безопасности на сервере SERVERTRIM, я отмечаю, что доступ в случае 2 привел к созданию ANONYMOUS LOGON, который, как представляется, объясняет 401/Несанкционированный.

Я пытаюсь заставить свой веб-сервис использовать учетные данные зарегистрированного пользователя DOMAIN, когда мой WS вызывает веб-сервис поставщика на другом сервере.

Мой ASMX webservice работает на моем рабочем столе (IIS 5.1 WinXP Pro - имя машины JOHNXP). Я имею Включить анонимный UNCHECKED на каждом сервере, вовлеченного и у меня есть это в каждом web.config вовлеченного в моем сценарии:

вебсервис поставщик работает на SERVERTRIM (Win 2003 Server), и это также ASMX и использует WSE 3.0 ,

Wireshark и Netmon выглядят слишком грозными, как инструменты для меня прямо сейчас. Я полагаю, что различные полученные ЛОГОТЫ на «удаленном» сервере (SERVERTRIM) являются достаточными «доказательствами». Все вышеперечисленные компьютеры находятся в одном домене, но я хочу сохранить «удаленный» веб-сервис на SERVERTRIM и моем промежуточном веб-сервисе на другом сервере в том же домене, если это возможно. Означает ли этот сценарий, что я должен копаться в «делегировании»? Каким будет самый простой инструмент для мониторинга того, почему одни и те же учетные данные приводят к ANONYMOUS LOGON, когда веб-запрос инициируется на другой машине в домене?

ответ

0

Мои знания аутентификации немного туманно, но если я правильно понял ваше описание:

  • в первом случае, вы просматриваете на локальный, который выдает себя за номер вызывающего абонента, то вызов веб обслуживание на другой машине. Выдача олицетворения выполняется на той же машине, что и клиент. Я считаю, что в этом случае олицетворяющее приложение не обязательно должно находиться на машине, которой доверяют делегирование (потому что это уже та же машина, что и клиент).

  • во втором случае вы просматриваете другой компьютер, который пытается выдать себя за вызов при вызове третьего ПК. В этом случае ПК в середине нужно будет доверять для делегирования (чего, по-видимому, не будет, если это рабочая станция разработки).

+0

Джо, я думаю, вы описали его правильно. «ПК посередине» - это JOHNXP, и он был отмечен «Trust computer for delegation». Кроме того, веб-сервис, запущенный на JOHNXP, запускается с VisualStudio2005, когда я зарегистрирован как CBMIWEB \ johna. Когда документ для делегаций говорит, что «настроить учетную запись пользователя, под которой выполняется серверный процесс», я принял это, чтобы означать, что CBMIWEB \ johna и ActiveDirectoy теперь имеют «Учетная запись для делегирования», CHECKED.Я тестировал оба пути, и он все еще терпит неудачу. –

+0

Когда вы говорите, что начинаете WS с VS2005, вы имеете в виду сервер Cassini или IIS? И если IIS определенно работает под учетной записью домена? – Joe

Смежные вопросы