未经身份验证的应用程序的Http Session

时间:2016-10-01 19:21:01

标签: java session servlets httpsession session-management

我正在实现一个对于新用户来说未经验证的Web应用程序,它将被另一个Web应用程序使用,即最终用户不直接使用,但父Web应用程序不在我的控制之下。因此,通过我的网络应用程序,新用户可以通过提供他的个人信息,联系人详细信息来购买产品,而我正在为其实施会话管理。

所以我已经以下面的方式实现了这一点,并且现在想要你的建议让它变得更好。

1)。一旦父网络应用程序重定向到我的网络应用程序网址,我将调用两个servlet(由于框架结构)。

  • 第一个servlet,如果有的话,将从HttpSession中删除myUser的旧对象。(因为我的应用程序中没有任何注销,并且读取onbeforeunload不可靠)并且它还删除了myUser对象Threadlocal(我已经实现了分别维护每个线程的状态)。

  • 之后,第二个servlet正在创建新对象并将其与HttpSession绑定,并使用该会话为相关服务保存用户的间歇性数据。

我知道servlet的每个服务方法都是在单独的线程中运行的,所以希望一个会话不会干扰另一个会话,因为会话ID的唯一性因此每个浏览器会有一个,如果我是错了

1 个答案:

答案 0 :(得分:1)

您可以使用servlet过滤器来完成Serlvet1的工作,即

  

如果有的话,从HttpSession中删除myUser的旧对象。(因为我的应用程序中没有任何注销,并且读取onbeforeunload不可靠)并且它还从Threadlocal中删除了myUser对象(我已经实现了)分别保持每个线程的状态。)

遗留应用程序将重定向到您的Servlet 2,它将配置servlet过滤器。

通过添加servlet过滤器,控件将首先到达servlet过滤器,其中执行用户会话删除的逻辑并将控制权传递给servlet2

相关问题