我需要在我们拥有的多个应用程序(Java webapps)中统一登录屏幕。它基本上是由 Spring Security 保护的 JSP 页面,并且在成功登录时,它会重定向到 VAADIN servlet,它会创建一些通用的应用程序视图。
其他应用程序应该可以添加钩子(扩展我们的通用 vaadin 视图)并提供自定义逻辑。我熟悉 maven 和共享 JAR,但我应该如何共享基本 WAR?是否可以添加某种对应用程序的依赖并继承包括 WEB-INF 本身在内的所有内容?
我需要在我们拥有的多个应用程序(Java webapps)中统一登录屏幕。它基本上是由 Spring Security 保护的 JSP 页面,并且在成功登录时,它会重定向到 VAADIN servlet,它会创建一些通用的应用程序视图。
其他应用程序应该可以添加钩子(扩展我们的通用 vaadin 视图)并提供自定义逻辑。我熟悉 maven 和共享 JAR,但我应该如何共享基本 WAR?是否可以添加某种对应用程序的依赖并继承包括 WEB-INF 本身在内的所有内容?
我认为最好的解决方案是共享一个 jar 文件并让特定的应用程序在 jar 中查找 Spring Security 配置。类似于类路径导入的东西:
<import resource="classpath:com/security/shared/securityContext.xml" />
并确保登录页面使用类路径资源从 jar 加载或转发到具有该页面的单点登录服务器。
这是使用 Java EE 技术(不是 Spring)的模块化应用程序的一个很好的示例,但我认为基本思想将对您的特定问题有所帮助。