如何重新使用一个应用程序的身份验证到部署在其他服务器(Wildfly或Jboss)中的另一个应用程序?

时间:2017-04-29 13:17:37

标签: java authentication web-applications jboss wildfly

假设我有一个Web应用程序ABC,ABC有一个模块名称XYZ的链接,它部署在其他JBOss或Wildfly服务器中。当用户登录到应用程序ABC,并单击链接XYZ时,我必须使用相同的ABC到XYZ的身份验证。这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

Wildfly的Web (Undertow) Reference Guide(最后更新于2014年7月)声明:

  

分享战争之间的会议

     

Undertow允许您在耳中的战争之间共享会话,如果明确配置这样做的话。请注意,如果您使用此功能,您的应用程序可能无法移植,因为这不是标准的servlet功能。

     

为了启用此功能,您必须在耳朵的META-INF目录中的jboss-all.xml文件中包含shared-session-config元素:

<jboss umlns="urn:jboss:1.0">
    <shared-session-config xmlns="urn:jboss:shared-session-config:1.0">
        <session-config>
            <cookie-config>
                <path>/</path>
            </cookie-config>
        </session-config>
    </shared-session-config>
</jboss>
  

此元素用于配置将由耳中所有战争使用的共享会话管理器。有关此文件提供的所有选项的完整详细信息,请参阅https://github.com/wildfly/wildfly/blob/master/undertow/src/main/resources/schema/shared-session-config_1_0.xsd处的架构,但通常它会模仿jboss-web.xml中用于配置会话的选项。

这是在WFLY-1891(修正版本:8.2.0.Final,9.0.0.Alpha1)中添加的,note在集群中不起作用的评论(截至2014年4月)。

另见另一篇SO帖子 - Session sharing on WildFly is not working

编辑:

WFLY-3270 - Clustered support for HTTPSession sharing between wars delivered in an EAR注意到群集已在9.0.0.Alpha1中解决。