![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Исправление Проблемы Аутентификации Windows в Delphi Client после Обновления до 10.3Delphi , ОС и Железо , WindowsВведениеРазработчики, использующие Delphi для создания клиентских приложений, иногда сталкиваются с проблемами совместимости после обновления среды разработки. Одной из таких проблем является нарушение работы аутентификации Windows в клиенте SOAP после обновления до версии Delphi 10.3. В данной статье мы рассмотрим, как была решена эта проблема, и что необходимо предпринять для её устранения. Описание ПроблемыПользователи столкнулись с тем, что их приложение на Delphi, использующее компонент THTTPRIO для вызова SOAP-сервиса с защитой Windows Authentication, перестало работать после обновления до версии Delphi 10.3. Приложение корректно функционировало в предыдущих версиях, начиная с Delphi XE. Проблема заключалась в том, что сервер IIS отправлял код 401 в процессе аутентификации, который вместо того чтобы запросить отправку учетных данных, обрабатывался как окончательный HTML-ответ, что приводило к исключению, так как SOAP-сервис ожидает XML-контент, а не HTML. Причины ПроблемыВ документах к релизу Delphi 10.3 упоминалось изменение реализации SOAP, однако конкретные детали не были предоставлены. Предполагается, что проблема связана с переходом Embarcadero от использования WinInet к WinHTTP для SOAP-клиентов, что могло привести к тому, что Integrated Security не был реализован в модуле Delphi Решение ПроблемыПосле дополнительного исследования было выяснено, что проблема не связана с самим Delphi, а с настройками WinHTTP. WinHTTP не распознавал сервер как часть локальной сети, и поэтому не отправлял учетные данные после получения ответа с кодом 401. Для решения проблемы было необходимо изменить политику автологина WinHTTP, установив значение Пример Кода
ЗаключениеПроблема аутентификации Windows в клиенте SOAP после обновления до Delphi 10.3 была решена путем изменения политики автологина WinHTTP. Разработчикам, столкнувшимся с подобной проблемой, рекомендуется ознакомиться с настройками WinHTTP и, при необходимости, внести соответствующие изменения в исходный код Delphi. Дополнительные Ресурсы
Эта статья предназначена для разработчиков, использующих Delphi для создания клиентских приложений, которые сталкиваются с проблемами аутентификации после обновления среды разработки до версии 10.3. Проблема в клиентском приложении на Delphi после обновления до версии 10.3 связана с нарушением работы аутентификации Windows в клиенте SOAP, вызванная изменением в реализации SOAP и необходимостью изменения политики автологина WinHTTP. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |