¿Как я могу разделить безопасность и фильтр между разными войнами одного и того же уха? - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть ухо, которое содержит три войны. War1 использовать логин пользователя, это работает правильно. war2 с app1 и war3 для app2.

Я пытаюсь поделиться сессией и применить фильтр безопасности для war2 и war3. Как видно на картинке. Как я могу это сделать?

ear

1 Ответ

0 голосов
/ 14 апреля 2019

Прежде всего вам необходимо понять, что все три приложения независимы и разделены контекстами, не разделяют никакие ресурсы и не могут напрямую взаимодействовать друг с другом. Для этого вам нужно использовать внешний сервис аутентификации, такой как keycloak. Может быть, одноэлементный EJB присутствует в EAR как собственный модуль и используется во всех работах, связанных с войнами, в результате чего EJB сохраняет состояние безопасности.

В websphere был WebsphereApllicationSession или около того, который позволял делить состояние между модулями, но это специфично для websphere. Такая функциональность зависит от используемого вами сервера приложений и не является переносимой.

См. Следующие ссылки для получения дополнительной информации, но я рекомендую использовать SSO-сервер, такой как keycloak.

https://technology.amis.nl/2012/01/18/sharing-session-state-between-jee-web-application-through-weblogic-session-descriptor-of-sharing-enabled/

https://www.google.com/amp/s/thewonggei.wordpress.com/2009/07/22/how-to-share-session-between-web-modules-in-websphere-6-1/amp/

https://softwareengineering.stackexchange.com/questions/178290/why-cant-wars-share-session-info

сеанс обмена Wildfly между EAR?

https://forum.reportserver.net/viewtopic.php?id=173

https://www.keycloak.org

...