Я создаю веб-приложение, которое использует систему управления контентом Drupal 7. Веб-страницы сильно используют JQuery и AJAX.Как защитить службу REST Java с помощью Drupal?
Звонки AJAX находят услуги REST, которые фактически реализованы с использованием JAVA. Apache запускает Drupal 7 и настроен на передачу любых вызовов на URL REST на сервер Java EE (Jboss AS7). Все по SSL.
Мне нужно авторизовать и аутентифицировать вызовы сервисам REST и получить доступ к имени пользователя или идентификатору человека, который в настоящий момент вошел в систему Drupal из приложения Java. Вопрос в том, как ... как ...
Поскольку вызовы AJAX выполняются на одном сервере Apache (а не на отдельном сервере и т. Д.), Все происходит в рамках одной и той же http-сессии, поэтому я надеюсь, что это будет будет довольно легко.
Вещей я думал-о:
- Настройки ява безопасность перехватчик, который вызывает пользовательский (локально доступ только) Друпала сервис, который как-то читает идентификатор сеанса, и возвращает вошедший в имени пользователя
- создайте «тупую» службу REST-сервиса drupal, чтобы действовать как шлюз для всех моих вызовов REST, который авторизует/аутентифицирует, затем вводит имя пользователя перед прохождением к серверной службе Java.
- Статья в https://lists.wisc.edu/read/messages?id=7777296#7777296 заставила меня задаться вопросом, Я мог бы уйти от ума h вызывает службу Drupal (только в начале каждого сеанса службы Java), который принимает идентификатор сеанса Drupal и возвращает текущего пользователя и его роли. Я мог бы сконфигурировать его в своей службе Java, чтобы он повторил этот вызов каждые x секунд или y, чтобы проверить наличие изменений или выходов.
Как все это делают? Это должна быть общая проблема для решения, не так ли? Если нет, что вы делаете вместо этого для безопасного доступа к аутентифицированным службам через AJAX? Я бы предпочел не вводить второй процесс управления пользователями в дополнение к Drupal, если это не неизбежно. DRY :)
Спасибо - это меня в тупик!
Это имеет смысл. Можно ли использовать переменную сеанса, хранящуюся в заголовках или cookie, как уникальный токен, чтобы удалить необходимость в дополнительном токене? – user1180316