В FinalBuilder, как использовать действие HTTP Get File с аутентификацией Windows?
У меня есть проект FinalBuilder, где я развертываю веб-сайт ASP.Net в удаленной папке, настроенной как веб-сайт в IIS. Как часть моего сценария сборки, я хочу использовать HTTP-файл Get Final File, чтобы определить, было ли успешным мое развертывание.
У меня возникли трудности, потому что веб-сайт настроен (под IIS 6) для использования встроенной проверки подлинности Windows, и анонимный доступ не включен.
Теперь действие HTTP Get File имеет только несколько свойств, одним из которых является раздел безопасности, содержащий имя пользователя и пароль. Отлично, подумал я! Я могу просто добавить туда некоторые действительные учетные данные, которые FinalBuilder будет выдавать за себя при получении моего файла. Оказывается, я ошибся. Я получаю следующую ошибку:
Ошибка при получении URL: Ошибка сокета # 10061 Соединение отказано.
Если я запускаю действие без установки имени пользователя и пароля безопасности, я получаю следующую ошибку:
Ошибка при получении URL: HTTP/1.1 401 Код неавторизованного ответа: 401
Вот несколько фактов, которые помогут разобраться с моей проблемой. Я запускаю FinalBuilder 6 Professional после установки Windows Server 2003 и развертываю свой веб-сайт ASP.Net на удаленном сервере IIS6 в нашей корпоративной локальной сети. Если я настрою IIS на удаленном сервере, чтобы разрешить анонимный доступ, я смогу выполнить действие HTTP Get File без ошибок. Однако запуск этого конкретного сайта с анонимным доступом в нашей ситуации неприемлем.
Кто-нибудь может помочь предложить обходной путь?
1 ответ
Для окончательного ответа, я думаю, что Форум Finalbuilder, вероятно, ваш лучший выбор.
Однако я предполагаю, что библиотека HTTP, используемая FB, не поддерживает аутентификацию Windows и не работает, потому что не может быть согласован ни один из распространенных методов аутентификации. Поскольку HTTPS не поддерживается ни "действием HTTP Get File", возможный обходной путь, заключающийся в разрешении базовой аутентификации на вашем сайте, не является хорошей идеей, так как вы передаете учетные данные по сети в виде простого текста.
Единственный оставшийся обходной путь, о котором я могу подумать (кроме ожидания будущей версии FB), - это создать собственное действие FB для извлечения файла. Используя.NET Framework System.Net.WebClient, это должно быть тривиально. Просто начните с автономного EXE-файла, чтобы убедиться, что все работает, а затем преобразуйте его в "реальное" действие с помощью FinalBuilder Action Studio (если это даже требуется: создание внешнего EXE-файла может нормально работать в вашем случае).