Можно ли использовать файл cookie для передачи данных из веб-приложения на одном сервере в веб-приложение на другом сервере в том же домене?

1

Мне была поручена отправка данных из одного приложения в другое. Скорее всего, ресурсы находятся на разных веб-серверах. Я еще не знаю, поэтому я предполагаю, что они находятся на разных серверах. Однако они находятся в том же домене, что и следующие:

http://a.bbb.com/SevletX
http://a.bbb.com/ServletY

Мне нужно отправить некоторые конфиденциальные данные из первого ресурса во второй ресурс. Предполагая, что они находятся на двух разных серверах, RequestDispatcher не будет работать. У меня нет возможности использовать строку запроса, поскольку данные являются конфиденциальной информацией (учетные данные пользователя).

  1. Если я установил файл cookie в первый ресурс и перенаправил, будет ли файл cookie доступным для второго ресурса? У меня нет среды, где я могу проверить это.

  2. Если это верно, могу ли я сериализовать объект, преобразовать его в строку и затем установить строковое значение в файле cookie и получить его во втором ресурсе, десериализовать и вернуть объект?

  3. Будет ли файл cookie быть достаточно безопасным (например, через https) для отправки конфиденциальных данных, таких как учетные данные пользователя?

  • 0
    Не могли бы вы использовать печенье для этого? Да. Тебе следует? Вообщем нет. Особенно для верительных грамот. Я не уверен в случае использования, но современные приложения обычно используют аутентификацию на основе токенов, например, oauth.
  • 0
    Вы говорите, что я мог бы использовать куки. Имеет ли значение, если веб-серверы находятся на разных физических машинах? Кроме того, это действительно не проблема аутентификации. Я не пытаюсь сделать единый вход. Однако мне нужно передать данные на другой веб-сервер, где они используются для передачи данных расширенному клиенту через файл JNLP. Поэтому мне нужно найти способ безопасной передачи данных из веб-приложения1 в веб-приложение2.
Теги:
servlets
cookies
web-applications
webserver

2 ответа

0

Да, вы можете сделать это, пока домен тот же. Вам просто нужно явно установить путь к файлу cookie для root.

Cookie cookie = new Cookie("cookie name ", "cookie value");
cookie.setPath("/");
response.setCookie(cookie);

Теперь этот файл cookie будет доступен для всех приложений в этом домене.

предположим, что есть два приложения

  • www.example.com/app1
  • www.example.com/app2

теперь этот файл cookie будет доступен как для приложений app1 и для app2.

0
  1. Да, пока он находится на одном компьютере.
  2. Да, вы должны иметь возможность сериализовать его и извлекать объект из другого сценария.
  3. И файлы cookie являются локальными, поэтому они не будут отправляться через домен.

Изменение: вы сказали, что они, вероятно, будут на двух разных веб-серверах, поэтому вы не сможете делиться куками, и вы должны попробовать подобный подход, но вместо этого хранить данные на сервере MYSQL, чтобы обе программы могли иметь доступ к сериализованному объекту.

  • 0
    Итак, если веб-серверы находятся в разных доменах, они не могут совместно использовать cookie, даже если имя домена совпадает? Также я не получил «местную» часть. Я думал, что куки отправляются обратно на сервер с каждым запросом по сети.
  • 0
    Они есть, но вы сказали, что они, скорее всего, находятся на двух разных компьютерах, поэтому даже если они находятся в одном домене, они не будут использовать одни и те же файлы cookie.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню