¿如何在同一只耳朵的不同战争之间分享安全性和过滤器?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了¿如何在同一只耳朵的不同战争之间分享安全性和过滤器?相关的知识,希望对你有一定的参考价值。

我有一个包含三场战争的耳朵。 war1使用用户登录,这可以正常工作。 war2与app1和war3 for app2。

我要做的是共享会话并将安全过滤器应用于war2和war3。如图所示。我怎样才能做到这一点?

答案

首先,您需要了解所有三个应用程序都是独立的,并且由上下文分隔,并且不共享任何资源,并且不能直接相互通信。为此,您需要使用像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 share session between EARs?

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

https://www.keycloak.org

以上是关于¿如何在同一只耳朵的不同战争之间分享安全性和过滤器?的主要内容,如果未能解决你的问题,请参考以下文章

如何在多个战争之间共享一个jsf错误页面

在eclipse中编译项目,获取战争或耳朵或jar文件

如何使用ant解压缩包含嵌套的zip文件?

在本地主机上运行两个 grails 应用程序时如何解决跨域错误

vlan的划分方法及配置

jboss中同一战争的多个上下文路径