在Tomcat 6上运行的两个Web应用程序之间建立SSO和会话共享

时间:2010-11-28 17:53:33

标签: jsf struts tomcat6 single-sign-on

我有两个Web应用程序,webapp1(JSF-Spring)和webapp2(Struts)在单个Tomcat 6.0上运行。 Webapp1使用JSF阶段侦听器来保护webapp中的所有资源。 用户通过webapp1身份验证后,会呈现通过<iframe>标记从中调用webapp2的页面。

我的问题是:

  1. 如何在webapp1和webapp2之间建立SSO?
  2. 如何在webapp1和webapp2之间共享会话?

1 个答案:

答案 0 :(得分:0)

  1. PhaseListener替换为基本相同作业的Filter,并在两个webapp上使用它。这假设会话已共享,并且您已将登录用户置于会话中。

  2. 将两个网络应用的<Context>元素的emptySessionPath属性设置为true

    <Context emptySessionPath="true">
    

    这可以由/META-INF/context.xml文件提供。另见链接文档。