使 Jboss 门户中基于 struts 的 portlet 中的会话无效

发布于 2024-12-19 19:05:10 字数 800 浏览 2 评论 0原文

我正在开发一个门户 Web 应用程序,该应用程序是在 JBoss 门户中使用 Struts Portlet 开发的。它使用 struts-portlet-bridge。

我试图在向用户显示登录页面之前添加代码以使会话无效,但它在 session.invalidate() 期间抛出异常。然后我查看了注销功能,显然无论编写代码的人都没有执行 session.invalidate(),我想出于与我遇到的相同原因。

然后,我在 Google 上搜索“Struts Portlet Bridge”并找到了此链接( http://docs.oracle.com/cd/E19583-01/819-4605/gblnb/index.html)其中说:

如果任何部署为 portlet 的 struts 应用程序使用 >session.invalidate() 使会话无效,则由 struts-portlet 桥获取的会话将变为 >invalid 会话。因此,桥无法存储与渲染相关的信息。在应用程序服务器中,部署为 portlet 的 struts 应用程序不得使用 session.invalidate(),因为 struts portlet 桥也使用相同的会话。

有人有解决方案吗?如何在不使用 Struts Action 方法中的 session.invalidate() 的情况下使会话无效。

I am working on a Portal web application which was developed with Struts Portlets in JBoss portal. It uses struts-portlet-bridge.

I was trying to add code to invalidate the session before the user is presented the login page, but it is throwing exceptions during session.invalidate(). Then I looked at the logout functionality and apparently whoever wrote the code is not executing session.invalidate() and I guess for the same reasons I encountered.

Then, I Googled for "Struts Portlet Bridge" and found this link ( http://docs.oracle.com/cd/E19583-01/819-4605/gblnb/index.html) which says:

If any struts application, deployed as a portlet, is invalidating the session using >session.invalidate(), the session obtained by the struts-portlet bridge becomes the >invalid one. Because of this, the bridge is unable to store rendering related >information. In application server, struts application, deployed as a portlet, must not >use session.invalidate() as the same session is used by struts portlet bridge.

Does anybody have a solution for this? How can I invalidate the session without using session.invalidate() in a Struts Action method.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怕倦 2024-12-26 19:05:10

我记得我们在 JBoss EPP v5.1 中遇到了这个问题,我们发现 portlet 会话在单击注销时并未失效,并且当用户重新登录时,他可以看到旧数据(在上次登录期间存储在 portlet 会话中)。此外,这个问题已在 JEPP v5.2 版本中得到修复,我们现在很高兴迁移到它。

I remember we ran into this issue with JBoss EPP v5.1 we discovered that portlet sessions were not getting invalidated on click of logout and when the user logged back in he could see old data (stored in portlet session during previous login). Also, this issues was fixed with JEPP v5.2 release and we are happily migrated onto it now.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文