В последние несколько дней мы столкнулись с довольно интересной проблемой, и я гонялся за хвостом, пытаясь ее решить. Буду признателен за понимание.
Сценарий:
У нас есть веб-приложение GWT, и на каком-то этапе при обычном использовании системы пользователю может потребоваться ввести свой пароль, чтобы получить доступ к определенной части приложения. Мы делаем это, отображая диалоговое окно, содержащее iframe с jsp, где пользователь затем вводит свой пароль. Это кодируется и отправляется сервлету jsp, который проверяет учетные данные и, в случае успеха, отправляет куки-файл приложению, информируя его об успешной аутентификации.
Проблема:
Когда мы запускаем приложение в наших локальных средах разработки, все работает отлично. Запросы генерируются правильно, а куки отправляются отлично. Однако, когда мы запускаем это в нашей тестовой среде клиента (которая идентична нашей локальной среде), она отлично работает для Firefox, но не для Chrome и IE. (Мы буквально берем точную войну и бросаем ее в обоих местах).
Некоторый анализатор пакетов, кажется, показывает, что cookie, который генерируется на стороне сервера сервлетом jsp
response.addCookie(cookie);
никогда не достигает Chrome или IE, но это касается Firefox.
Трассировки, которые мы имеем на стороне сервера, указывают на то, что правильный запрос действительно достигает сервлета, и что один и тот же код выполняется каждый раз для всех браузеров.
Кто-нибудь сталкивался с подобной проблемой? Наш технологический стек:
- Java 1.6
- GWT 2.2.0
- Apache Tomcat 7.0.8
Спасибо!