Доступ к зарегистрированному в данный момент пользователю Drupal из приложения Java - PullRequest
1 голос
/ 09 февраля 2011

У меня Java-приложение, размещенное в том же домене, что и веб-сайт Drupal.Это Java-приложение получает запрос клиента из браузера (поэтому я получаю доступ ко всем файлам cookie).Можно ли с помощью файлов cookie, которые я получаю в приложении Java, проверить, вошел ли клиент в Drupal из того же браузера?

Я думал об использовании xmlrpc из приложения Java для выполнения запроса к модулю служб Drupal, но не смог найтиспособ получить информацию о текущем вошедшем в систему пользователе, предоставляя данные cookie.

Есть идеи?

Большое спасибо.

PS: Я использую недавно установленный Drupal 7.Если у вас есть пример Drupal 6, он сделает свою работу.Спасибо.

Ответы [ 2 ]

0 голосов
/ 13 мая 2011

Немного опоздал с моим ответом, но я бы порекомендовал написать модуль для Drupal, который подключается к его возможностям XML-RPC и выполняет всю работу за вас.

Другими словами, вы бы отправили запрос XML-RPC из вашего Java-приложения (http://ws.apache.org/xmlrpc/client.html) на путь на вашем сайте Drupal, контролируемый модулем (например, example.com/user/is-logged-).in '). Модуль Drupal «контролирует» этот путь и принимает все запросы. Оттуда модуль Drupal выполняет простой запрос к базе данных, чтобы выяснить, связан ли сеанс с вошедшим в систему пользователем (если связанный пользователь равен 0, то пользователь не вошел в систему - в противном случае пользователь вошел в систему.) Модуль Drupal тогда просто возвратил бы true или false (если это желательно, или более подробный массив пользовательских данных).

Я скоро поработаю над аналогичным случаем и, вероятно, пойду по этому пути. В моем случае у меня есть сайт Drupal, который предлагает загрузку файлов. Загрузки должны выполняться через сервлет Java, нотолько люди, которые вошли в систему, должны быть разрешены для загрузки. Таким образом, сервлет свяжется с сайтом Drupal, чтобы проверить, есть ли пользователь с идентификатором сессии, предоставленным вcookie регистрируется, а затем определяет, должна ли начаться загрузка.

Другими словами:

Java -> запрос XML-RPC -> сайт Drupal -> XML-RPCответ -> Java.

0 голосов
/ 10 февраля 2011

Что ж, если вы можете получить идентификатор SESSION, вы можете нажать на таблицу сессий и посмотреть, есть ли в таблице какая-либо строка с таким же sid (SESSION id = sid). Если uid не 0, пользователь вошел в систему, и вы можете посмотреть, кто он там.

...