Передача учетных данных с веб-сайта на веб-службу на том же сервере
У меня есть бэкэнд VB6 для классического сайта ASP. Затем этот VB вызывает веб-сервис на том же сервере, используя MSXML2. Это работает на всех наших серверах, кроме одного. Если я настрою сайт веб-службы для принятия анонимного входа, он будет работать, однако, если я включу только встроенную защиту, MSXML возвращает ошибку "Отказано в доступе".
Я предполагаю, что учетные данные не передаются из серверной части VB на этом сервере в веб-службу. По каким причинам это может произойти?
Изменить: Вот сообщение об ошибке, которое я получаю. Я получаю его, когда иду на сайт с сервера или другого компьютера. Если я иду прямо в веб-сервис, все работает нормально.
2009-07-16 13:56:47 W3SVC1 <IP Address> POST /reportprint/reportprint.asmx - 80 - <IP ADDRESS> Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.2;+SV1;+.NET+CLR+1.1.4322;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729) 401 2 2148074254
2 ответа
Обновление: попробуйте настроить для веб-сайта проверку подлинности NTLM (вместо значения по умолчанию NTLM и Kerberos).
open cmd.exe
go to directory:
C:\Inetpub\AdminScripts
type:
cscript adsutil.vbs set w3svc/<WebSite>/root/NTAuthenticationProviders "NTLM"
измените "WebSite" на номер сайта (можно увидеть в mmc). Подробности в разделе "Как настроить IIS для поддержки протокола Kerberos и протокола NTLM для сетевой аутентификации"
Ошибка 401.2 "Отказано в конфигурации сервера". Вы можете прочитать об этом здесь и здесь.
Перед обновлением: Вы уверены, что учетные данные не передаются с сайта asp? Попробуйте поместить этот сайт в анонимный вход. И настройте пул приложений для запуска с высокой учетной записью (только временный!) И посмотрите, решит ли это проблему.
Кроме того, вы можете вставить строку из журнала IIS? Особенно код ошибки (401 и следующие два числа).
Существует много проблем с передачей учетных данных в устаревших приложениях. Я предполагаю, что VB6 использует NTLM, и сервер не примет это.
Вы можете получить больше помощи с этим в переполнении стека.