简体   繁体   English

会话管理-Websphere Application Server

[英]Session Management - Websphere Application Server

I have a question about session management. 我对会话管理有疑问。 Here's the scenario. 这是场景。

There are 3 groups of users on the same network. 同一网络上有3组用户。 There is a J2EE application that is set to end a user's session after 60 minutes. 有一个J2EE应用程序被设置为在60分钟后结束用户的会话。 The groups are A, B and C. Now Group A, B and C all log into the J2EE application and start using it. 这些组是A,B和C。现在,A,B和C组都登录到J2EE应用程序并开始使用它。 Group A users can use the application just fine with no issues. A组用户可以正常使用应用程序而不会出现任何问题。 Group B and C though are kicked out are various times, but all before the set time of 60 minutes. B组和C组虽然被踢出了不同的时间,但都在60分钟的设定时间之前。 Now a user from Group A goes to a Group B's PC. 现在,来自A组的用户转到B组的PC。 The Group B user logs into their PC with their AD credentials and then the Group A user logs into the J2EE application. B组用户使用其AD凭据登录到其PC,然后A组用户登录到J2EE应用程序。 After some time, well before the 60 minute session time, the Group A users' session is ended prematurely. 一段时间之后,即60分钟的会话时间之前,A组用户的会话提前结束。

Still with me? 还在我这儿? I hope so. 希望如此。

Now the Group B user, goes to a Group A users' PC and does the same as above. 现在,B组用户转到A组用户的PC并执行与上述相同的操作。 The Group A user logs into their PC with their AD credentials and the Group B user logs into the J2EE application. 组A用户使用其AD凭据登录到其PC,组B用户登录到J2EE应用程序。 The Group B user has no timeout issues and doesn't get kicked out before the 60 minute set time for the session to end. B组用户没有超时问题,并且在60分钟的设置时间结束之前不会被踢出。

Whew! ew! So it doesn't look like the J2EE application is terminating the users' session, because the Group B users is fine when logged into a Group A users PC. 因此,看起来J2EE应用程序不会终止用户的会话,因为B组用户登录到A组用户PC时就可以了。

Now, would someone be able to explain how this could occur? 现在,有人能够解释这种情况如何发生吗? I was thinking that the Application Server (Websphere App Server 6.1) might be configured to do such a thing, but I'm not a websphere administrator. 我以为可以将Application Server(Websphere App Server 6.1)配置为执行此类操作,但是我不是Websphere管理员。

Any ideas or suggestions of what I may try to solve this issue would be greatly appreciated. 我可能会尝试解决此问题的任何想法或建议,将不胜感激。 Also, please ask any questions as I know that there may be some things that I have left out in my explanation of what is going on. 另外,请问任何问题,因为我知道在对发生的情况进行解释时可能遗漏了一些内容。

Thanks! 谢谢!

Are you setting HttpSession.setMaxInactiveInterval(int secs) in your code. 您是否在代码中设置HttpSession.setMaxInactiveInterval(int secs)。 This overrides any other settings in WebSphere. 这将覆盖WebSphere中的任何其他设置。 maybe you have a random value that is being set ? 也许您有一个正在设置的随机值?

Besides trying the suggestion provided by Romain also try this. 除了尝试Romain提供的建议外,还可以尝试此方法。 You can print the contents of HTTPSession (and its attributes) and see what the values are. 您可以打印HTTPSession的内容(及其属性),并查看它们的值。

Use HTTPSessionListener and you would be notified when sessions are created and destroyed. 使用HTTPSessionListener,在创建和销毁会话时会收到通知。

This would tell you when the sessions are getting destroyed. 这将告诉您会话何时被销毁。

It is likely that something in the application might be triggering it. 应用程序中的某些内容可能正在触发它。

It is too difficult to say what are the possible problem and we can take a initial stab at these approaches. 很难说出可能的问题是什么,我们可以初步了解这些方法。

HTH Manglu HTH芒格鲁

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM