避免跨多个标签使用相同的会话

时间:2016-04-05 11:13:29

标签: jsp session servlets browser tabs

我遇到会话问题,当我的Web应用程序中有不同的用户登录时,会在多个标签之间共享同一个会话。问题是我在浏览器中跟踪单个会话以执行此类过程。在JSP&中是否有任何可能的方法来保持标签的会话Servlet的。当重复或其他用户登录到同一应用程序时,我无法使会话无效。我坚持这个。

1 个答案:

答案 0 :(得分:2)

服务器(jsp / servlet所在的位置)通常无法判断是否在同一窗口或新选项卡/窗口中打开了链接;这是除非客户端(在这种情况下是Web浏览器)告诉它。简单的说;一些客户端代码会这样做。

您可以使用HTML5 window.sessionStorage对象。为每个选项卡/窗口创建此对象的新实例。因此,生成随机ID并保存在会话存储每个浏览器选项卡中。然后每个浏览器选项卡都有自己的ID。将此ID传达给服务器......

See this answer

Gonzalo Galloti

希望这有帮助