У меня есть веб-сервис, который я тестирую.Когда я использую личный веб-сервер asp.net, тот, который имеет случайный порт, все работает нормально.Он использует мои учетные данные, когда я передаю DefaultCredentials на сервер ssrs для запуска отчета.
Когда я пытался переместить его на свой локальный сервер IIS, имя пользователя DefualtCredentials пусто и идентификатор, который передается на сервер SSRSэто ASPNET.
Я отключил доступ Annon, и включена только встроенная проверка подлинности Windows.
Мой локальный IIS - 5.1, поэтому у него нет пулов приложений в качестве отдельного объекта.
В web.config установлена аутентификация
<authentication mode="Windows" />
Заранее спасибо.
ОБНОВЛЕНИЕ У меня есть
<identity impersonate="true" />
сейчас, но моя проблема сложнее, чем первоначально заявлено.
Внешний веб-сервис вызывает веб-сервис SSRS, и теперь он отлично работает в браузере.Но когда я вызываю внешний веб-сервис изнутри SSIS, он не работает, когда я выполняю пошаговый код, происходит вызов внешнего веб-сервиса, но когда я звоню в SSRS, я получаю ошибку аутентификации 401.
У меня есть действительные учетные данные в диспетчере HTTP.У меня есть уровень защиты пакета на EncryptSensitiveWithUserKey.
Опять же, если я вызываю внешний веб-сервис с личного веб-сервера ASP.net, даже SSIS работает нормально.Мне просто нужно каждый раз скачивать wsdl, потому что порт меняется, а затем мне нужно заново настроить задачу webservice.Я беспокоюсь, когда я иду на производство.
(мне еще предстоит запустить тест из кода, чтобы увидеть, как работает веб-сервис)
ОБНОВЛЕНИЕ 2
Опять веб-сервис работает в IE,но не в SSIS и Firefox, даже когда я предоставляю свои учетные данные при подключении к веб-сервису
Я знаю, что аутентифицируюсь правильно, потому что
User.Identity.Name
возвращает мое имя для входа в веб-сервис, но когдаЯ назначаю defaultCredentials сервису службы отчетов, он все равно выдает ошибку 401.Я даже пытался выдать себя за логин, в котором я вошел как
Dim win As System.Security.Principal.WindowsIdentity = CType(User.Identity, System.Security.Principal.WindowsIdentity)
Dim context As System.Security.Principal.WindowsImpersonationContext = win.Impersonate()
reportService.Credentials = System.Net.CredentialCache.DefaultCredentials