Я пытаюсь войти в веб-службу с помощью xmlHttpRequest.
Кажется, что веб-служба аутентифицируется с помощью файлов cookie.Проанализировав связь с браузером IE, я пришел к выводу, что последовательность в основном следующая:
(1) сервер отправляет форму с запросом имени пользователя и пароля.
(2) клиент отправляет запрос POST, содержащийимя пользователя и пароль введены.
(3) сервер отправляет сообщение перенаправления (HTTP 302) на тот же URL-адрес с заголовком «Set-Cookie», содержащим идентификатор сеанса
(4).- отправляет тот же URL-адрес, содержащий cookie-файл, полученный от сервера, в сообщении перенаправления.
(5) сервер получает идентификатор сеанса и завершает аутентификацию.
Я пытался эмулировать ту же последовательность, используя xmlHttpRequest в JavaScript,Однако я обнаружил проблему.
Похоже, xmlHttpRequest не перенаправляет файлы cookie.Другими словами, (4) не происходит, и аутентификация не завершена.
Чтобы усугубить проблему, xmlHttpRequest, похоже, не обнаруживает события перенаправления (если это было возможно, я мог бы по крайней мере установить заголовок Cookie доповторная отправка запроса).Функция onreadystatechange () вызывается только после завершения всего процесса перенаправления.
Итак, я не имею никакого решения для решения этой проблемы и завершения аутентификации.
Кроме того, поскольку это связано с "общедоступным" веб-сервисом, я не могу ничего изменить на стороне сервера.
Есть идеи?