Я пытаюсь реализовать защиту для следующей архитектуры:
- Веб-уровень: сервер приложений Tomcat 7, использующий GWT.
- Серверная часть: сервер приложений JBoss 7.1, использующий EJB и JPA для сохранения данных. EJB-объекты используются удаленно веб-уровнем.
Я думаю об использовании защиты JBoss, которая включает в себя:
- Создание домена безопасности в JBoss через login-config.xml
- Домен безопасности использует DatabaseServerLoginModule для извлечения данных из базы данных MySQL с точки зрения имени пользователя / пароля и ролей.
- Авторизация: безопасность на основе EJB путем аннотирования моих методов EJB с помощью @ RolesAllowed.
Я делал это раньше в одном JBoss и настраивал web.xml в Tomcat JBoss. Затем jboss-web.xml, чтобы привязать мое веб-приложение к домену безопасности, который я создал в JBoss.
Теперь меня интересует, как все это работает с использованием двух отдельных серверов: веб-контейнера Tomcat, который делает удаленные вызовы внутреннему JBoss. Мои вопросы:
- Как я могу сообщить своему Tomcat о домене безопасности, определенном в удаленном JBoss (если вообще возможно), чтобы он делегировал JBoss задачу поиска учетных данных в БД?
- Если мои компоненты GWT вызывают удаленные EJB, как я могу передать учетные данные безопасности от Tomcat на удаленный JBoss (принципал, пароль) таким образом, чтобы мне не приходилось указывать их в каждом вызове?
- Это вообще возможно? Существуют ли другие альтернативы, которые могут облегчить мою жизнь в этом сценарии?