2009-10-11 3 views
1

У меня есть индекс solr на удаленном сервере и вам нужно создать интерфейс страницы поиска. Я использую GWT для кодирования страниц и XML-HTTP для запроса индекса и получения ответа. Проблема заключается в политике безопасности, основанной на одном месте. Это не позволит JavaScript получить удаленные данные XML. Есть ли обходной путь для этого, без использования JSON.Интерфейс GWT для индекса Solr

ответ

2

Аналогичная проблема: Make GWT interact with ASP.NET Web Service

ответы, которые также должны применяться здесь.

В зависимости от типа данных, которые вы хотите отправить (то есть, как «общественность», они), JSONP может быть не самый лучший вариант - это не самый безопасный способ транспортировки (чистый JSON является безопаснее, но для преодоления SOP вам потребуется прокладка).

Если у вас есть сервер Java на стороне сервера, я бы пошел с GWT <-> servlet (acting as proxy, on the same domain as your main app) <-> web service (any domain) - самым безопасным и чистым кодом, afaict.

+0

Да, эти ссылки суммируют его довольно хорошо. Трюк названия интересен и должен работать с несколькими типами браузеров. Прокси-сервер - это самое простое решение. –

+0

Ручка 'window.name' также намного безопаснее, чем' JSONP' - единственная уязвимость, о которой я знаю, заключается в том, что значение 'window.name' сохраняется, даже если пользователь покидает сайт (поэтому этот хак работает, но это также означает, что sitexxx.com может попытаться прочитать window.name в поисках конфиденциальных/любых данных). Тем не менее, используя эту настраиваемую форму FormPanel от Ray Cromwell, она исправляет это: 'FormPanel' использует динамически созданный iframe, поэтому после использования он отбрасывается и, следовательно, после этого никто не может прочитать значение' window.name' этого iframe. –

+0

спасибо igro. Я реализую Java-сервлет на сервере, так как у меня уже есть tomcat. – Chintan

Смежные вопросы