У меня возникли проблемы с вызовом веб-службы из веб-приложения, и я надеялся, что кто-то здесь сможет помочь. Из того, что я могу сказать, это, похоже, имеет отношение к проблеме Kerberos с двойной перестановкой. Однако, если это так, я не уверен, что делать, чтобы исправить эту проблему. Чтобы сделать все сложнее, у меня нет надлежащих прав на внесение изменений в учетные записи Active Directory, поэтому мне нужно знать, что нужно запрашивать при запросе изменений. В моей ситуации мне нужно передать учетные данные (Интегрированная проверка подлинности Windows) из веб-приложения на бэкэнд-веб-службу, чтобы веб-служба работала под правильным контекстом пользователя.
Вот моя точная проблема:
Это работает
Это не работает
Единственное различие между рабочим сценарием и нерабочим сценарием заключается в том, что рабочий сценарий запускает приложение на локальном хосте (будь то компьютер разработчика или на сервере), а нерабочий пример работает на другой машине, Код между обоими сценариями точно такой же.
Что я пробовал
- Добавление SPN к учетной записи домена, которая запускает пул приложений для каждого сервера
setspn -a http/server1 DOMAIN\account
- Различные способы олицетворения
- Удаление кода олицетворения
using(...)
и выполнение вызова веб-службы в качестве учетной записи пула приложений. Это работает как ожидалось.
Есть ли у кого-нибудь идеи о том, что я могу сделать, чтобы исправить эту проблему?