Glassfish-3.0.1混合用户会话 - SSO

时间:2014-05-13 12:25:38

标签: java session cookies glassfish single-sign-on

我们遇到了一个奇怪的行为,我们有一个应用程序(jsf 2.2.4嵌入式),它有一个登录表单,glassfish启用了 sso 和一个自定义领域(LDAP)。我们还有几个应用程序(一些嵌入了jsf 2.2.4,另一些使用了glassfish的jsf实现),它们由包含登录表单的应用程序链接。

出于某种原因,当glassfish创建了大约300到400个会话或cpu处于高速率或可能是随机时刻时,我们从主应用程序导航到其他应用程序,然后返回到主应用程序,在某些时候glassfish更改 jsessionidsso Cookie,分配一个新Cookie。问题是有时候那个cookie代表另一个用户的会话,所以我们有一个会话混合,可以看到另一个用户的信息。

我们在Centos-6.5上运行 Glassfish-3.0.1 ,没有代理。

我们已按照本指南[{3}}尝试更新焊接,但我们目前遇到了相同的行为。

有人能指出我们正确的方向吗?它可能是什么?

非常感谢! 问候, 刁。

1 个答案:

答案 0 :(得分:1)

我们遇到同样的问题而且还不知道原因。我们的临时解决方案:我们将用户ID附加到每个用户请求,我们每次都检查该特定用户的权限,因为我们遗憾地无法信任会话ID。如果会话不属于用户ID,我们拒绝该请求并要求用户发起新会话。该问题影响不到1%的会话。

我们怀疑Glassfish服务器前面的负载平衡器系统,但如果有人在没有负载平衡器层的情况下具有相同的体验,则该问题会隐藏在其他地方。