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