Вопрос по javascript, ajax – Междоменный AJAX / Javascript - искусственно используя sessionid

2

В настоящее время у меня есть веб-сервис RESTful, который распознает клиента через его сеанс.

У меня есть клиент, который использует ajax / javascript для доступа к содержимому веб-службы RESTful. Я допускаю это, отвечая на запрос заголовками:Access-Control-Allow-Origin, Access-Control-Allow-Credentials, Access-Control-Allow-Methods.

Однако, хотя клиент может получить доступ к контенту, каждый запрос рассматривается как другой сеанс, поскольку файлы cookie не могут использоваться в домене.

Я не хочу модифицировать свой серверный код, чтобы он соответствовал именно этому стилю клиента, я бы предпочел обойти клиентскую сторону, чтобы дать представление об использовании сеанса.

Поскольку я не хочу сохранять что-либо в течение сеанса, скорее я использую только jsessionid в качестве идентификатора клиента, который, как я предполагал, мог бы искусственно ввести&jsessionid= на URL, по крайней мере со стороны сервера, чтобы клиент, казалось, правильно отслеживал сеанс.

Это не похоже на работу - может кто-нибудь посоветовать, как я могу заставить своего клиента вести себя так, как будто он использует тот же sessionid?

@ Грэм: Рад, что помог! Я переместил это в ответ. T.J. Crowder

Ваш Ответ

2   ответа
2

jsessionid не является параметром строки запроса. Вы хотите добавить искусственно;jsessionid=... (до любого & amp; в URL), а не&jsessionid=....

Error: User Rate Limit Exceeded Graeme
0

который позволяет осуществлять междоменную связь и симулирует сохранение на странице для управления контентом, но на самом деле взаимодействует между доменами через iframe с защищенным сервером.

Вам не нужно изменять код своего сервера. Вы можете использовать iframe + postMessage, предполагая, что вам не нужна поддержка ниже IE8. Все остальные современные браузеры поддерживают это. Существует также метод опроса iframe для более низких браузеров. Вам также не нужно указывать свой идентификатор сеанса в строке запроса по протоколу SSL. Вы можете поговорить со своим iframe, чтобы узнать состояние входа в систему или нет через javascript. Информация о сеансе остается в домене iframe, где она должна быть.

Эта ссылка может вам помочь - & gt;http://benalman.com/projects/jquery-postmessage-plugin/

Похожие вопросы