2013-07-16 3 views
0

Я не опытный веб-разработчик, но в последнее время я занимаюсь разработкой некоторых веб-приложений (Java Servlets + JavaScript + HTML5). Имея опыт работы в автономных проектах, этот вопрос имеет смысл для меня, но я понимаю, что это может быть абсурдным для опытного веб-разработчика:Вложенные приложения в WAR-файл в Geronimo

Я хотел бы разработать некоторые распространенные приложения и интегрировать их в более крупные проекты. Например, я хотел бы создать веб-приложение для пользователей, которое может использоваться различными продуктами. Поэтому я мог инкапсулировать его в WAR-файл и включить его в проект или другой.

enter image description here

Как пояснил here, я понимаю, пакет WAR не JAR, содержащий LIBS, но пакет для развертывания полного приложения.

Моя цель состоит в том, чтобы повторно использовать один и тот же код без необходимости включать все файлы «UserManager» по одному в пакеты App1 и App2. В настоящее время я считаю, что лучшим решением является публикация «UserManager» и вызов его из App1 или App2. Тем не менее, если «UsersManager» и «App1», например, публикуются в разных контекстах, они не разделяют переменные сеанса. Если «UsersManager» включает в себя службу входа в систему и создает некоторые данные сеанса, эти переменные сеанса должны быть доступны из «App1».

enter image description here

Что я должен попробовать?

  • Сделать перенаправление вызова из App1/App2 в UserManager?
  • Забыть об общих сеансах?
  • Какое правильное решение проблем такого рода?
+0

Я не буду говорить об общем сеансе, но вместо этого использую решение Single Sign-On для всех ваших обычных приложений, поэтому пользователь входит в систему при попытке доступа к одному из приложений, а их учетные данные распределяются между всеми приложениями. См. [Какая платформа SSO для использования?] (Http://stackoverflow.com/q/173704/1065197) –

+0

Служба входа в систему - всего лишь пример, что, если я хочу интегрировать другие службы, такие как модуль календаря? –

+0

Имея единый логин для своего приложения, вы можете получить данные для одного и того же пользователя среди разных приложений. –

ответ

0

Поскольку Geronimo будет использовать Cookie для хранения сеанса клиента в любом случае (по крайней мере, с моей конфигурации),

Chrome cookies explorer

все веб-приложения будут требовать от клиента принимать файлы cookie.

С другой стороны, в моей компании у нас уже есть централизованный диспетчер сеансов. Я буду использовать дополнительный файл cookie для хранения идентификатора сеанса, предоставленного этой системой, так что у меня уже есть простой механизм единого входа.